2011-03-24 69 views
1

可能重複:
How to assign a variable in IF, and then return it. (Python)評估Python中if語句表達的結果

在Python有沒有更好的辦法做到這一點?:

myVal = getVal() 

if not myVal: 
    continue 

我想要做這樣的事情:

if not (myVal = getVal()): 
    continue 

但這不是有效的語法。有沒有其他的方法可以像PHP和Perl一樣在一行上做到這一點?

+4

Python的高度重視代碼的清晰度。你不應該這樣做。 – 2011-03-24 19:46:14

回答

3

它不是pythonic有分配的返回值。在python中,賦值意味着將對象綁定到名稱,而不是將值放入內存位置。

1

不,你不能這樣做。

我想說這是因爲它太容易與if not (myVal == getVal()):混淆。

0

不,你不能這樣做。

但是,像這樣的幾乎所有情況都可以在Python中更乾淨地完成。但是,爲了向您展示如何做到這一點,我們需要更多的上下文。特別是,你如何繼續構建這個循環。

0

你可以試試這個吧,(這取決於getVal回覆):

if not getVal(): 
    continue