接口测试的核心概念是什么
281
2022-08-31
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 = x self.y = y self.z = z def __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)
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~