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, '美国纽约')

注意:

传进的所有参数都会被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组包:就是把 多个数据 组成 元组 或者 字典的过程。


随机代码:


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

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

相关推荐
站大爷IP几秒前
Python定时任务实战:APScheduler从入门到精通
python
Fairy_sevenseven7 分钟前
[1]python爬虫入门,爬取豆瓣电影top250实践
开发语言·爬虫·python
ThisIsMirror11 分钟前
CompletableFuture并行任务超时处理模板
java·windows·python
java1234_小锋1 小时前
TensorFlow2 Python深度学习 - TensorFlow2框架入门 - 计算图和 tf.function 简介
python·深度学习·tensorflow·tensorflow2
程序员晚枫1 小时前
Python 3.14新特性:Zstandard压缩库正式加入标准库,性能提升30%
python
逆境清醒1 小时前
VS Code配置Python开发环境系列(1)___VScode的安装 ,VScode常用快捷键
vscode·python·visual studio code
珹洺1 小时前
Java-Spring入门指南(二十一)Thymeleaf 视图解析器
java·开发语言·spring
Predestination王瀞潞1 小时前
类的多态(Num020)
开发语言·c++
Predestination王瀞潞1 小时前
类的继承(Num019)
开发语言·c++
万粉变现经纪人1 小时前
如何解决 pip install -r requirements.txt 无效可编辑项 ‘e .‘(-e 拼写错误)问题
开发语言·python·r语言·beautifulsoup·pandas·pip·scipy