其他分享
首页 > 其他分享> > 函数的参数

函数的参数

作者:互联网

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