单个缺省参数
def add_info(name, sex = "男")
print("name", name, "sex=", sex)
add_info("吴彦祖")
add_info("李冰冰", "女")
add_info("周杰伦", "奶爸")
缺省参数,传参的时候可以传入,也可以不传入,有默认值。
多个缺省参数
def add_info(name, sex = '男', age = 18):
print('name=', name, 'sex=', sex, 'age=', age)
add_info('吴彦祖')
add_info('李冰冰','女')
add_info('张继科','萌男', 17) # 位置参数:形参和实参需要一一对应的传递
add_info('赵本山', age=19) # 关键字参数(命名参数):指定要传递的形参名字
add_info(age=19,name='渣渣辉') # 普通形参也可以使用关键字参数,并且可以打乱顺序
形参实参一一对应。如果有关键字参数,顺序可以打乱。
不定长参数
def add_infos(manager,*stu,flower='佼姐'):
print('manager=', manager, 'stu=', stu,'flower=', flower)
add_infos('胜男','吴彦祖','渣渣辉','古天乐','陈小春','林子聪',flower='刘亦菲')
不定长参数(可变长参数):
定义函数时,在形参前加一个星号,则会使用一个 元组 来接受所有没人要的位置参数
不定长参数必须在形参列表的最后,不定长参数的只能有一个
缺省参数和不定长参数混合的时候,需要放在不定长参数的后面,但是建议不要混合使用。
'''
不定长参数(可变长参数):
定义函数时,在形参前加两个星号,则会使用一个 字典 来接受所有没人要的 关键字参数
'''
def add_infos(manager,*args, **kwargs):
print('manager=', manager, 'args=', args, 'kwargs=', kwargs)
add_infos('胜男','吴彦祖','渣渣辉','古天乐','陈小春','林子聪',flower='刘亦菲',grass='鹿晗')
不定长参数拆包
def add_infos(manager,*args, **kwargs):
print('manager=', manager, 'args=', args, 'kwargs=', kwargs)
ls = ['吴彦祖','渣渣辉','古天乐','陈小春','林子聪']
dic = {'flower':'刘亦菲','grass':'鹿晗'}
# 拆包。
# 传递实参时,在列表或元组前写一个 星号,可以将列表或元组拆分成单独的位置参数传递
# 传递实参时,在字典前写两个星号,则会将字典拆分成单独的关键字参数传递
# add_infos('胜男','吴彦祖','渣渣辉','古天乐','陈小春','林子聪',flower='刘亦菲',grass='鹿晗')
add_infos('胜男', *ls, **dic)