函数定义
- 函数定义
封装好的 能被反复调用的 结构(函数名,参数,代码块)
函数名在同一个模块下不能重复
先定义再调用
#定义一个函数 参数分别是x,y
def add(x,y): #x,y是定义时的参数,即为形参
result=x+y
return result #如果不写return 函数会默认返回None
def声明函数的过程中不会进行变量的赋值(参数默认值除外),只有在函数调用的时候才会进行变量赋值。
2. 普通参数
即add(x,y) 其中x和y都是普通参数
add(4,5) #位置参数,按顺序对应定义时的参数,x=4,y=5
add(y=5,x=4)#关键字参数,与顺序无关
def add(x,y):
result=x+y
return result
add(x=4,5) #传参的时候 位置参数一定要在关键字参数前面
- 可变位置参数
在形参前使用*,表示该形参是可变参数,用tuple接收0个或多个实参
星号前有其他参数时,按照从左向右的传参规则,将剩余所有的位置参数收集到args元组中
def func3(a,b,*args):
print(a) #先将1赋值给a
print(b) #再将2赋值给b
print(args) #剩余元素赋值给args
func3(1,2,3,4) #-->args=(3,4)
-
可变关键字参数
在形参前,使用**,表示该形参是可变参数,用字典接收0个或多个参数
注意:**后不能出现任何参数了
可变位置参数用字典接收,所以接收后就可以使用字典类的方法来操作了
-
函数默认值
#定义时在形参后跟上一个值,如果调用时 未传入足够的参数的时候,对没有给定的参数赋值为默认值
#需要注意的是,有默认值的一定要写在无默认值的参数后面
def add