#yyds干货盘点#python任意实参列表

网友投稿 292 2022-09-07


#yyds干货盘点#python任意实参列表

调用函数时,使用任意数量的实参是最少见的选项。这些实参包含在元组中(详见 ​​元组和序列​​ )。在可变数量的实参之前,可能有若干个普通参数:

def write_multiple_items(file, separator, *args): file.write(separator.join(args))

def concat(*args, sep="/"): return sep.join(args)concat("earth", "mars", "venus")'earth/mars/venus'concat("earth", "mars", "venus", sep=".")'earth.mars.venus'

解包实参列表

函数调用要求独立的位置参数,但实参在列表或元组里时,要执行相反的操作。例如,内置的 ​​range()​ 函数要求独立的 start 和 stop 实参。如果这些参数不是独立的,则要在调用函数时,用 * 操作符把实参从列表或元组解包出来:

list(range(3, 6)) # normal call with separate arguments[3, 4, 5]args = [3, 6]list(range(*args)) # call with arguments unpacked from a list[3, 4, 5]

同样,字典可以用 ** 操作符传递关键字参数:

def parrot(voltage, state='a stiff', action='voom'): print("-- This parrot wouldn't", action, end=' ') print("if you put", voltage, "volts through it.", end=' ') print("E's", state, "!")d = {"voltage": "four million", "state": "bleedin' demised", "action": "VOOM"} parrot(**d)-- This parrot wouldn't VOOM if you put four million volts through it. E's bleedin' demised !


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Java中的Native方法
下一篇:【值得推荐】5个最频繁使用的 AutoML 框架(最不经常使用)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~