函数的参数:
Python函数的参数目前有五种
位置参数 def get_name(age)
位置参数是按照函数定义时所需值
默认参数 def get_name(age=10)
默认参数必须指向一个不变对象
可变参数
def sort(*nums)
max_num = 0
for num in nums:
max_num = num if num > max_num else nums
return max_num
可变参数所指向的是一个可变的对象,函数在被调用时,会把可变参数组装成一个tuple
关键字参数
def get_name(**kwargs):
if 'age' in kwargs:
pring(kwargs['age'])
关键字参数在函数调用时,会把关键字组装成一个dict
如果一个dict再被传入之前已经定义好了,函数接受的dict参数指向**kw,它是复制外面的dict,函数对kw做的处理不会改变外层的dict
命名关键字参数
def get_name(*kwargs,age,gender)
pass
data = {'school':'aa'}
get_name(data, age=11,gender=1)
命名关键字是限制传入的关键字,命名关键字参数必须放在可变参数后面,如果没有可变参数,需要在命名关键字前面打上*。
如果没有可变参数,也没有打上*,函数再被调用的时候,会认为命名关键字参数是位置参数