在python中,函数定义时小括号中的参数被称为形式参数,简称形参。函数调用时的参数被称为实际参数,简称实参。
根据形参的不同格式进行划分,共有五种格式:
必选参数在使用时必须传值。示例:
def bit(n):
print('n:',n)
bit(9)
默认参数可以不传值,不传值时使用默认的数据。如果默认数值的数据类型是可变的,则会先开辟出一块内存空间出来。
# m为默认参数
def fight(m=18):
print('m:',m) #10,传参时为所传参数,不传参时为默认参数
fight(10)
可变参数在函数定义是使用*args表示,接收不定长的参数,在函数内部组合为一个元组:
def total(a=5,*args,):
print('a:',a)
print('args:',args)
total(19,22,23,24,23)
关键字参数在函数定义时使用**kwargs作为形式参数,在调用时允许传入0个或任意个含参数名的参数,这些关键字参数在函数内部自动组合为一个dict。
def person(name,age,**kwargs):
print('name:',name,'age:',age,'orthers:',kwargs)
print(kwargs['wuwu'])
person('张三',19,cc='3',wuwu='cc')
命名关键字参数在调用传参时必须指定参数的名字,且必须放在可变参数的后边,没有可变参数时需要在第一个参数位置放一个*。
def eat(fruit,food,*args,milk):
print("fruit:",fruit)
print("food",food)
print("args:",args)
print("milk:",milk)
eat('西瓜','鸡蛋',11,23,24,milk='蒙牛')
当没有可变参数时:
def sleep(*,hour):
print(hour)
sleep(hour=9)```