[英]Python magic * or ** method equivalent
是否存在与*
和**
魔术等效的python方法?
所以,我的意思是不这样做:
a = (1,2,3)
method(*a)
而是执行以下操作:
a = (1,2,3)
method(remove_magic(a))
在阅读代码的同时,我看到*
和**
,只是希望有更好的可读性。 我希望python标准库中能为我做些什么。
无法使函数执行与*
或**
相同的功能。 您必须修改method
本身。 原因是remove_magic
函数最多可以返回一个元组/列表,但是您已经有一个:
a = (1,2,3)
method(remove_magic(a))
pythonic的替代方法可能是解开元组并显式传递参数:
a = (1, 2, 3)
x, y, z = a
method(x, y, z)
在Python 2.x中,您可以使用apply
,但是我觉得它不那么清晰。 它在python 3中也不可用。
apply(method, a)
官方建议只是坚持
method(*a)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.