
Day5 - 05 函数的参数-关键字参数
发布日期:2021-05-20 18:23:13
浏览次数:11
分类:博客文章
本文共 1194 字,大约阅读时间需要 3 分钟。
可变参数可以传入任意个参数,并在函数调用时自动组为一个tuple,而关键字参数允许传入任意个携带参数名的参数,这些关键字参数在函数内部自动组为一个dict。
>>> def person(name,age,**otherinfo): ... print('name:',name,'age:',age,'Other infomations:',otherinfo) ... >>> person('张三',20) name: 张三 age: 20 Other infomations: {}
>>> person('李四',70,出生年份=1900,身高=168) name: 李四 age: 70 Other infomations: {'身高': 168, '出生年份': 1900}
>>> person('隔壁老王',26,出生年份=1992,身高=188,爱好='篮球') name: 隔壁老王 age: 26 Other infomations: {'身高': 188, '爱好': '篮球', '出生年份': 1992}
关键字参数可以作为扩展函数,在上面的例子中,name和age都是必填参数,但是如果需要增加更多的参数,可以将这些更多的参数统统放在关键字参数中作为可选的附加项。
拆解一下上面这个关键字参数的例子:
>>> def person(name,age,**otherinfo): ... print('name:',name,'age:',age,'Other infomations:',otherinfo) ... >>> person('李四',70,出生年份=1900,身高=168) name: 李四 age: 70 Other infomations: {'身高': 168, '出生年份': 1900} 先将可选项组为一个dict,然后将dict转换为关键字参数传进去 >>> oi = {'出生年份':1900,'身高':168} >>> person('李四',70,出生年份=oi['出生年份'],身高=oi['身高']) name: 李四 age: 70 Other infomations: {'身高': 168, '出生年份': 1900}
简化写法为: >>> oi = {'出生年份':1900,'身高':168} >>> person('李四',70,**oi) name: 李四 age: 70 Other infomations: {'身高': 168, '出生年份': 1900} **oi表示把oi这个dict的所有key-value用关键字参数传入到函数的otherinfo参数中,otherinfo将获得一个dict,这个dict是oi的一份拷贝,对otherinfo内容的改动不会影响到person函数外的oi。
发表评论
最新留言
关注你微信了!
[***.104.42.241]2025年04月27日 12时46分58秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
响应的HTTP协议格式+常见的响应码
2019-03-15
创建线程方式
2019-03-15
LRUCache
2019-03-15
关于Linux系统中touch命令的说明
2019-03-15
将windows里的内容直接复制粘贴到ubuntu,提高效率
2019-03-15
将tomcat设置成window自启动服务
2019-03-15
webservice 远程服务器返回错误:(400)错误的请求
2019-03-15
[日常] PHP与Mysql测试kill慢查询并检验PDO的错误模式
2019-03-15
[Linux] 进程间通信
2019-03-15
[PHP] error_reporting(0)可以屏蔽Fatal error错误
2019-03-15
C++ Primer Plus【复习笔记】-【复合类型】
2019-03-15
thinkphp 的一些重要知识点
2019-03-15
Java学习第二章——Java基本语句
2019-03-15
形状类似小于等于号的符号是啥
2019-03-15
遇到问题之-yum update无法连接镜像问题解决
2019-03-15
遇到问题之-httpd服务启动报错182行错误
2019-03-15
pycharm如何设置(错误、警告类的标准提醒)
2019-03-15
PHP是世界上最好的语言?Phython第一个不服
2019-03-15
Bugku CTF-web6
2019-03-15