我想传递可变数量的参数,然后打印它们(如果某些条件为真)。当我尝试这样做时:
def my_print(*args)
print args
它打印一个元组。如何让 pythonmy_print(a,b)
充当print a,b
?
我想传递可变数量的参数,然后打印它们(如果某些条件为真)。当我尝试这样做时:
def my_print(*args)
print args
它打印一个元组。如何让 pythonmy_print(a,b)
充当print a,b
?
你可以这样做:
from __future__ import print_function
print(*args)
这将为您提供 3.x 样式的打印功能,以便您可以解压缩参数。但是请注意,您需要在该模块的任何地方使用 3.x 语法。
在 Python 2.x 中,您可以使用str.join
:
def my_print(*args):
print ' '.join(map(str, args))
如果您使用的是 Python 3.x,那么它会更容易,因为有一个print
函数:
def my_print(*args):
print(*args)
其他答案也提到你可以from __future__ import print_function
,但这有一个缺点,即所有使用该print
语句的现有代码都会中断。
使用内置打印功能:
from __future__ import print_function
my_print = print
或者
my_print = getattr(__builtins__, 'print')
你可以试试
for _ in len(range(args)):
print a[_],
但看起来其他答案更正确