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='羽绒服')

相关推荐
IT猿手5 分钟前
2025高维多目标优化:基于导航变量的多目标粒子群优化算法(NMOPSO)的无人机三维路径规划,MATLAB代码
开发语言·人工智能·算法·机器学习·matlab·无人机·cocos2d
呱牛do it9 分钟前
Python Matplotlib图形美化指南
开发语言·python·matplotlib
pianmian112 分钟前
python制图之小提琴图
开发语言·python·信息可视化
水瓶丫头站住13 分钟前
Qt中QRadioButton的使用
开发语言·qt
橙子小哥的代码世界14 分钟前
【机器学习】【KMeans聚类分析实战】用户分群聚类详解——SSE、CH 指数、SC全解析,实战电信客户分群案例
人工智能·python·机器学习·kmeans·数据科学·聚类算法·肘部法
计算机徐师兄15 分钟前
Python基于Flask的豆瓣Top250电影数据可视化分析与评分预测系统(附源码,技术说明)
python·flask·豆瓣top250电影数据可视化·豆瓣top250电影评分预测·豆瓣电影数据可视化分析系统·豆瓣电影评分预测系统·豆瓣电影数据
k layc19 分钟前
【论文解读】《Training Large Language Models to Reason in a Continuous Latent Space》
人工智能·python·机器学习·语言模型·自然语言处理·大模型推理
非 白19 分钟前
【Java】代理模式
java·开发语言·代理模式
知识分享小能手25 分钟前
Html5学习教程,从入门到精通,HTML5 简介语法知识点及案例代码(1)
开发语言·前端·javascript·学习·前端框架·html·html5
muxue17828 分钟前
go:运行第一个go语言程序
开发语言·后端·golang