2017-01-02 32 views
-2

通過Python:Python和操作符背後的邏輯是什麼?

>>> 1 and 2 
2 
>>> 1 and 2 and 3 
3 
>>> 3 and 2 and 1 
1 
>>> 'a' and 'b' 
'b' 

爲什麼Python中返回這些結果呢?在處理純數字或字符串時,什麼是邏輯?

+1

有什麼令人困惑的邏輯? –

+0

您可能還會發現[我的這個答案](http://stackoverflow.com/a/36551857/4014959)有幫助。 –

回答

0

當兩個表達式之間有'和'關鍵字時,解釋器首先檢查第一個表達式。如果第一個表達式是錯誤的,它甚至不檢查第二個表達式。所有編程語言都是如此。如果有多個表達式,它從左到右。順序很重要,因爲在'和'表達式的末尾寫出計算量大的操作是一種很好的做法。

在您的第一個示例中,python將1計算爲true並轉到下一個表達式並返回最後一個表達式的結果。如果你有一個情況類似

'a' and False and 'b' 

它將返回False,因爲解釋會是虛假的陳述後停止。