我想傳遞可變參數個數的參數,然後打印它們(如果某些條件爲真)。 當我嘗試這樣做時:打印元組作爲參數數
def my_print(*args)
print args
它打印一個元組。我如何使python act my_print(a,b)
作爲print a,b
?
我想傳遞可變參數個數的參數,然後打印它們(如果某些條件爲真)。 當我嘗試這樣做時:打印元組作爲參數數
def my_print(*args)
print args
它打印一個元組。我如何使python act my_print(a,b)
作爲print a,b
?
在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
print(*args)
這可以讓你的3.x的樣式打印功能,因此您可以解壓的參數。請注意,然後您需要在該模塊的任何地方使用3.x語法。
這很好,但我不打算更改所有代碼。所以+1,但接受馬克 – RiaD
使用內置打印功能:
from __future__ import print_function
my_print = print
或者
my_print = getattr(__builtins__, 'print')
你可以嘗試
for _ in len(range(args)):
print a[_],
但它看起來像其他的答案是比較正確的
你爲什麼想要這樣做? –
@Mark:這是簡單的日誌功能。如果錯誤日誌級別對於此消息來說足夠高,則將其作爲打印 – RiaD