在Python中,有沒有辦法將結果賦給變量並立即打印出來?換句話說,我要尋找一個單行相當於在Python中同時指定和打印
a = something()
print(a)
(只需一次,不是每個分配應當自動打印)。
在Python中,有沒有辦法將結果賦給變量並立即打印出來?換句話說,我要尋找一個單行相當於在Python中同時指定和打印
a = something()
print(a)
(只需一次,不是每個分配應當自動打印)。
從技術上講,這是一個行:
a = something(); print(a)
鑑於這個問題的含糊性,這似乎是一個合理的答案對我來說 –
爲什麼倒票?這是一個有效的答案,問題不是我讀過的最清楚的問題 –
這是從Python和一個很好的理由我猜失蹤。在C語言中,您可以擁有一個有效的語句,如 if a=30 { ... }
,因爲任何賦值語句都會具有指定的值,這可能會導致某人第一次看到該代碼時會撓頭。
此外,由於你的函數體內部參考副本,而不是實際的變量
TL烘烤自己分配的功能會產生問題; DR; - >不,不存在
那麼,如果你只是想創建一個新的變量,並打印出你所指示的那個變量的值,你可以有一個簡單的函數來打印並返回值:
def print_and_return(value):
print(value)
return value
現在你可以使用它像這樣:
>>> a = print_and_return(5)
5
>>> print(a)
5
的其他辦法,你不應該使用,是使用globals()
字典。
def print_and_set(name, value):
globals()[name] = value
print(globals()[name])
您可以使用調用它:
print_and_set('a', 5)
它將打印5
,您還可以訪問變量a
在全局命名空間。
是的,但不是一個理智的方式(除@ ScottHunter的答案,這是簡單的兩行用';'而不是'\ n'分隔)。 –
是什麼課?一個函數? – veggie1
你在這裏找到了多麼精確?在最低級別,打印一個'syscall'(本質上發生了什麼事情,當你打印()')某個東西不能在同一時間改變一個值(設置你的變量)完成。 –