注:本笔记对应江灏老师在B站的教学视频https://www.bilibili.com/video/BV1zE411V79p
一、函数处理
函数可以避免我们重复复制粘贴,可以增加代码的艺术性。
(一)调用函数,得先定义。
(二)函数定义的两种方式:有参和无参
def square(x): #有参数 x为形参 s=x**2 return x s = square(2) #调用 2为实参 print(s) def func(): #无参 print("hello world") func() #调用
(三)参数传递
-
括号里面的叫形参,调用时传递进去的是实参
-
注意:如果传入的第一个参数是用关键词传入的,那么后面的每个参数都需要是关键字传入,否则会出现语法错误。
def func(x,y,z): s = x + y + z return s print(func(1,2,3)) #位置传入 print(func(x=1,z=3,y=2)) #关键词传入 print(func(1,y=2,z=3)) #正确 print(func(x=1,2,y=3))是错误的
3.可变长参数
def func(x,y,*args): #默认把y后面的数字打包成元组,要是是**则打包成字典 s = 1+2*x+y*y for i in args: s=s+i return s print(func(1,2,3,4,5,6,7)) #默认把2后面的数字打包成元组,
4.函数的返回
return后面即为函数运行后返回的值。
(四)函数的嵌套
def max(x,y): if x>y: return x else: return y def max4(a,b,c,d): res1 = max(a,b) res2 = max(res1,c) res3 = max(res2,c) return res3 print(max4(4,5,6,2))
(五)函数递归
直接调用函数本身
def del1(group): del group[-1] if len(group)>0: del1(group) else: print("已经成功清除,检验。现在长度为",len(group)) list1=[1,2,3,4,4,5,5] del1(list1)
二、变量作用域
全局变量
定义在函数外的变量,可以在整个程序范围内被访问
局部变量
定义在函数内的变量,只可以在其被声明的函数内部访问
total = 0 def sum(a,b): #在函数内引用全局变量 #global total即可 total = a + b print("函数内是局部变量: ",total) return total sum(10,20) print("函数外是全局变量",total)
三、python内置函数
len(),abs()等,自己需要的时候查。