if/else
是我們用的最常用的條件控制語法。
而在Python語言中,有4種條件控制語法,完美的短短的一行程式碼就能實現同樣的功能,把Python優雅簡潔的程式設計思想體現得淋漓盡致。
第一種 if/else
常用的if/else語法,廢話不說,不懂的請大補腦白金。
c = a if a>b else b
第二種 三元表示式
條件為真時的結果 if 判段的條件 else 條件為假時的結果
c = [b, a][a > b]
c = a,當a>b為真時
c = b,當a>b為假時
第三種 二維列表
c = [b, a][a > b]
當a>b為真時,索引值為1,即c = [b, a][1] = a
當a>b為假時,索引值為0,即c = [b, a][0] = b
知識點擴充套件:
對於python來說1與True,0與False是完全相等,即[b, a][True] == [b, a][1]
第四種 邏輯運算子
c = (a>b and a or b)
當a>b為真時,c = a
當a>b為假時, c = b
知識點擴充套件:
在Python中邏輯運算子and 和or,採用惰性求值(lazy evaluation)的方式,從左向右解析,一旦結果可以確定就停止
例如:
A, C = True, True
B = False
則 A and B and C ,則不會解析C
且返回值通常是最後一個變數。
同樣的邏輯(or),只要有一個是true,即停止解析運算數,返回最近為true的變數,即 3 or 4,值為3;改變順序4 or 3 即為4.
回到:c = (a>b and a or b)
a>b為真時,當a為真時,不解析b,直接返回a,即c = a;
a>b為假時,a>b and a也為假,a不解析;直接解析b,並返回b的值,即c = b;
總結
以上4種控制的語法中,一和二是適用頻率較高的,如果執行語句較簡單推薦使用方法二。
而三和四,這兩種方法適用於特殊要求的場景下,程式碼寫多了,看多了,自然就熟悉了。