2014-01-19 121 views
0
表達式的求值的結果

考慮一個簡單的,如果在Python/else塊類似下面:打印在Python

if x: 
    print 'True' 
else: 
    print 'False' 

其中x可以是一個比較,條件或只是一個串/列表/目的。我怎樣才能打開一個python shell並找出if x將在沒有編寫循環的情況下進行評估?即對於某個角落情況值是xTrueFalse

例如,如果x是空列表。我可以打開python shell,分配x = [],然後編寫print <function of x>,執行時將輸出TrueFalse。那是什麼<function of x>

我覺得我問的是一個相當愚蠢的問題,現在不能直接思考,但我經常發現自己打開一個shell,爲一個變量分配一個角落案例值,並編寫一個if/else來查看角落值將評估爲True/False。我只是尋找一個更短的方式來找出殼,而不寫4線循環。

回答

3

您在尋找功能bool

>>> bool([]) 
False 
>>> bool(['monty']) 
True 

什麼Python Docs說。

將值轉換爲布爾值,使用標準真值測試 過程。如果x爲假或省略,則返回False;否則它 返回True。 bool也是一個類,它是int的一個子類。類 bool不能進一步子類化。它唯一的例子是False,並且 是真的。

+0

是的,正是這就是我一直在尋找。非常感謝。 – Medorator