python观察日志(part16)--收集关键词参数
学习笔记,有错必纠
收集关键词参数
我们知道一个函数可以接收不定个数的参数,以*
开头的参数名会收集所有的参数到一个元组上,例如,printall接收任意个数的参数并打印它们:
def printall(*args):print(args)printall("aer", 10, True)
输出:
('aer', 10, True)
*
号操作符并不会搜集关键词实参:
In [24]: printall(1, 2, b = 'as')
TypeError: printall() got an unexpected keyword argument 'b'
要收集关键词实参,可以使用**
操作符:
def printall2(*args, **kwargs):print(args, kwargs)printall2(1, 2, b = 'as')
输出:
(1, 2) {'b': 'as'}
我们看到kwargs收集到的结果是一个将关键词映射到值的字典。
如果我们有一个关键词映射到值的字典,我们可以使用分散操作符**
来调用函数:
class Point:def __init__(self, x = 0, y = 0, z = 0):self.x = xself.y = yself.z = zdef __str__(self):return "({}, {}, {})".format(self.x, self.y, self.z)d = dict(x = 1,y = 2,z = 3)
p = Point(**d)
print(p)
输出:
(1, 2, 3)
python观察日志(part16)--收集关键词参数相关推荐
- python观察日志(part7)--可变长参数元祖
学习笔记,有错必纠 可变长参数元祖 函数可以接收不定个数的参数,以*开头的参数名会收集所有的参数到一个元组上,例如,printall接收任意个数的参数并打印它们:: def printall(*arg ...
- python观察日志(part22)--设置工作目录及文件读取
学习笔记,仅供参考 参考自:pandas.read_csv参数详解:<python编程从数据分析到数据编程> 查看并更改当前工作目录 当前工作目录就是python(准确的说,是python ...
- python观察日志(part21)--ord,chr,unichr方法的联系与区别
学习笔记,仅供参考,有错必纠 参考自:python 的 ord(). chr(). unichr() 函数; 菜鸟教程 ord,chr,unichr方法的联系与区别 ord方法 ord方法以一个长度为 ...
- python观察日志(part15)--命名元祖namedtuple
学习笔记,有错必纠 命名元祖namedtuple 有很多简单的对象其实可以看做几个相关值的集合,例如,在下面这段代码中,我们定义Point类,它包含两个数字x和y: class Point:def _ ...
- python观察日志(part9)--数据库与pickle模块
学习笔记,有错必纠 数据库 数据库是一个有组织的用于存储数据的文件,许多数据库都像字典一样组织数据,因为它也将键映射到值上,数据库和字典之间最大的区别是数据库是保存在磁盘上的(或者其他永久存储上),所 ...
- python观察日志(part24)--列表和numpy数组扁平化
学习笔记,仅供参考,有错必究 参考文献:python–列表.数组扁平化:你知道如何将python中嵌套的列表扁平化吗? 列表扁平化 方案1 print(sum([[1, 2, 3], ["s ...
- R语言观察日志(part16)--Google‘s R Style Guide
学习笔记,仅供参考 自翻,有错必究 文章目录 Google's R Style Guide summary R语言风格 R语言规则 符号和命名 文件名 标识符 每行长度(注意) 缩进 空格 花括号 被 ...
- python观察日志(part20)--列表中加号,extend,append之间的区别
学习笔记,仅供参考,有错必纠 列表中"+"加号,extend,append之间的区别 extend extend函数用于在列表末尾一次性追加另一个序列中的多个值. append a ...
- python观察日志(part13)--any和all
学习笔记,有错必纠 any和all any函数 python提供一个内置函数any,它接收一个由布尔值组成的序列,并在其中任何值是True时返回True. 它可以用于列表: >>> ...
最新文章
- 升级 ubuntu_Ubuntu 19.04 已经到期!现有用户必须升级到 Ubuntu 19.10
- Deepin nginx lumen配置
- 编写高性能 Web 应用程序的10个技巧
- CStdioFile写文件中出现的问题
- 悲剧啊,疑似食物中毒和空气污染
- 如何成为一个合格的数据分析师
- 软件测试 查看网页打开时间,网页响应时间101(一)
- 适合苹果4s的微信版本_6.1.3装上微信了,新手看这里
- 多线程服务器的常用编程模型
- [VS报错] 应用程序无法正常启动0xc000007b -- 解决措施
- 给你一个全自动的屏幕适配方案(基于SW方案)!—— 解放你和UI的双手
- Photoshop制作漂亮白色荧光文字图片
- QNAP 威联通 NAS的个人使用经验 篇二:QTS系统各功能讲解
- 线性代数拾遗(1)—— 行列式的三种公理化构造
- 在socket 中使用域名
- Vuex是什么?如何理解和应用?
- C++基础入门(超详细)
- css样式—高度塌陷
- 多媒体计算机维修记载,多媒体教学计划(精选3篇)
- HP Z840 安装Ubuntu18.04,gpu版的tensorflow,keras全程纪要,硬件Qurado P4000两块
热门文章
- CORS 请求未能成功_CORS攻击概述
- Eclipse生成get,set方法,无参构造方法和有参构造方法
- 自定义ArrayList
- VS中生成时“sgen.exe”已退出,代码为 1解决办法
- 线段树之线段操作之陈老师的福利
- BZOJ4388 : JOI2012 invitation
- 磁盘阵列常见故障以及维护注意事项
- 移植基于linux-2.6.26.5内核s3c2410触摸屏驱动移植
- SharePoint 2010新体验2 – Ribbon界面
- MySQL事务的介绍+事务的特性+事务的开启