函数的参数
作者:互联网
1. 位置参数
位置参数:调用函数时根据函数定义的参数位置来传递参数。
# 需求:函数3个参数name,age,gender def user_num(name, age, gender): print(f'你的名字是{name}, 年龄是{age}, 性别是{gender}') # 你的名字是lisi, 年龄是25, 性别是男 user_num('lisi', 25, '男')
注意:传递和定义参数的顺序及个数必须一致。
2. 关键字参数
函数调用,通过“键=值”形式加以指定。可以让函数更加清晰、容易使用,同时也清楚了参数的顺序需求。
def user_info(name, age, id): print(f'你的姓名{name}, 年龄是{age}, 学号是{id}') # 你的姓名lisi, 年龄是25, 学号是114 user_info('lisi', age=25, id=114) # 位置参数必须写在关键字参数的前面 # 你的姓名小明, 年龄是23, 学号是258 user_info(name='小明', id=258, age=23) # 关键字参数之间不分先后顺序
注意:函数调用时,如果有位置参数时,位置参数必须在关键字参数前面,但关键字参数之间不存在先后顺序。
3. 缺省参数
缺省参数也叫默认参数,用于定义函数,为参数提供默认值,调用函数时可不传该默认参数的值(注意:所有位置参数必须出现在默认参数前面,包括函数定义和调用)。
def user_info(name, age, gender='男'): # gender='男'就是缺省参数 print(f'你的名字是{name}, 年龄是{age}, 性别是{gender}') # 你的名字是lisi, 年龄是16, 性别是男 user_info('lisi', 16) # 你的名字是lisan, 年龄是16, 性别是女 user_info('lisan', 16, '女')
注意:函数调用时,如果为缺省参数传值则修改默认参数值;否则使用这个默认值。
4. 不定长参数
不定长参数也叫可变参数。用于不确定调用的时候会传递多少个参数(不传参也可以)的场景。此时,可用包裹(packing)位置参数,或者包裹关键字参数,来进行参数传递,会显得非常方便。
4.1 包裹位置传递
# 接受所有位置参数,返回一个元组 def user_info(*args): print(args) # ('lisi',) user_info('lisi') # ('lisi', 20) user_info('lisi', 20) # ('lisi', 23, '男') user_info('lisi', 23, '男') # () user_info()
注意:传递的所有参数都会被args变量收集,它会根据传进参数的位置合并为一个元组(tuple),args时元组类型,这就时包裹位置参数。
4.2 包裹关键字传递
# 收集所有关键字参数,返回一个字典 def user_info1(**kwargs): print(kwargs) # {} user_info1() # {'name': 'lisi'} user_info1(name='lisi') # {'name': 'lisi', 'age': 20} user_info1(name='lisi', age=20)
注意:无论时包裹位置传递还是包裹关键字传递,都是一个组包的过程。
标签:info,函数,age,lisi,参数,user,name 来源: https://www.cnblogs.com/yz-b/p/16695012.html