2014-10-26 107 views
-1

我經常有類似是否可以將變量賦值與條件測試混合?

a = somefunction() 
if a: 
    do_something() 

有沒有在Python這將與條件測試融入在初始化一個施工規範?喜歡的東西

if a = somefunction(): 
    do_something() 

這將考驗a已通過somefunction()賦值後?

+0

你的第一個方法是你可以做的最好的事情。 – Maroun 2014-10-26 13:53:09

+0

如果你不打算使用它,你爲什麼要分配一個? – 2014-10-26 14:22:02

+0

@PadraicCunningham:我會使用它(這就是爲什麼我分配什麼函數返回到變量,而不是直接使用它在亞歷克斯的答案中提到) – WoJ 2014-10-26 14:24:04

回答

3

不,沒有辦法做到這一點;一個if聲明必須有一個條件 - 因此在其中分配一個分配將導致SyntaxError你的第一個例子是最好的,但除非你再次需要a後來那麼這個:

if somefunction(): 
    do_something() 

應該足夠了。

+0

謝謝。第一個例子工作正常,我只是想減少可能的混亂(我需要'a'之後) – WoJ 2014-10-26 13:53:08

+0

@WoJ很高興我能幫上忙。當寬限期過去後,您是否介意接受打勾以表明問題已經結束?謝謝。 :) – 2014-10-26 13:54:11

+0

哦,是的,我總是這樣:)。再過幾分鐘... – WoJ 2014-10-26 13:55:07