2011-02-23 106 views
0

的,如果條件內分配瓦爾的任何方式存在內部分配瓦爾的任何一個,如果條件像Python:是否有蟒蛇

if (i=variable)!='literal' : 
+0

嗯..這是什麼意思? – 2011-02-23 09:58:32

+0

對我來說根本沒有任何意義。爲了可讀性,考慮拆分條件和分配。 – vidstige 2011-02-23 10:00:39

+3

明顯的downvotes是來自非C/C++程序員:-) – 2011-02-23 10:06:45

回答

4

i = variable 
if i != 'literal': 
    whatever 
3

在Python語法,賦值是一個語句,並且語句永遠不會出現在表達式中,所以不會。

除了,如果你是真正的,真正邪惡的,你可以做這樣的事情:

if (var.i = value) != 'literal': pass 

var是一個討厭的__setattr__是走到當前執行幀的堆棧的對象(通過拋出異常並檢查堆棧跟蹤對象),將該變量分配到正確的作用域中,然後返回其值。

(Muahahahahahaha ....)

+0

D'Oh!當然這仍然不合語法。我應該說的是'if(var.i == value)'並覆蓋'__eq__'。 (或者'''和'__lshift__')。 – tangentstorm 2011-02-23 18:41:12