Python----函数的不定长参数--包裹位置参数*args、包裹关键字参数**kwargs

不定长参数 也叫 可变参数。用于不确定调用的时候会传递多少个参数(不传参也可以)的场景。此时,可用包裹(packing)位置参数,或者包裹关键字参数,来进行参数传递,会显得非常方便。

相关链接:Python---函数的参数类型----位置参数(不能顺序乱)、关键词参数(键值对形式,顺序可乱)-CSDN博客

包裹(packing)   位置参数 -----*args---没有一一对应的,位置不能变。----元组

packing   英 /ˈpækɪŋ/  n. 包装;填充物  v. 包装;装满

args   n. [计算机]参数    arguments  n. 参数


def user_info(*args):
    print(args)
    

# 调用函数,传递参数
user_info('Tom', 23, '美国纽约')

Python----函数的不定长参数--包裹位置参数*args、包裹关键字参数**kwargs_第1张图片

注意:

传进的所有参数都会被args变量收集,它会根据传进参数的位置合并为一个元组(tuple),args是元组类型,这就是包裹位置传递。

包裹 关键字参数-----**kwargs---一一对应的,位置能变无要求。----字典

kw = keyword + args

keyword   英 /ˈkiːwɜːd/  n. 密码;关键字

args   n. [计算机]参数    arguments  n. 参数


def user_info(**kwargs):
    # print(kwargs)  # 字典类型数据,对传递参数没有顺序要求格式要求key = value值
    print(f'我的名字{kwargs["name"]},今年{kwargs["age"]}岁了,住在{kwargs["address"]}')

# 调用函数,传递参数----对传递参数没有顺序要求格式要求key = value值
user_info(name='Tom', address='美国纽约', age=23)

Python----函数的不定长参数--包裹位置参数*args、包裹关键字参数**kwargs_第2张图片

总结:

包裹位置参数  传递、包裹关键字参数  传递,都是一个组包的过程

Python组包:就是把  多个数据   组成  元组  或者  字典的过程。

 


随机代码:


def shopping_info(**kwargs):
    # print(kwargs)  # 字典类型数据,对传递参数没有顺序要求,格式要求key = value值
    print(f'双十一买了{kwargs["kuaidi1"]},还买了{kwargs["kuaidi2"]}和{kwargs["kuaidi3"]}')

# 调用函数,传递参数----对传递参数没有顺序要求,格式要求key = value值
shopping_info(kuaidi1='靴子', kuaidi2='裤子', kuaidi3='羽绒服')

Python----函数的不定长参数--包裹位置参数*args、包裹关键字参数**kwargs_第3张图片 

你可能感兴趣的:(python,开发语言,pycharm)