天天看點

if else if else語句格式_深入Python條件控制,不隻是if/else第一種 if/else第二種 三元表達式第三種 二維清單第四種 邏輯運算符總結

if/else是我們用的最常用的條件控制文法。

而在Python語言中,有4種條件控制文法,完美的短短的一行代碼就能實作同樣的功能,把Python優雅簡潔的程式設計思想展現得淋漓盡緻。

if else if else語句格式_深入Python條件控制,不隻是if/else第一種 if/else第二種 三元表達式第三種 二維清單第四種 邏輯運算符總結

第一種 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]

if else if else語句格式_深入Python條件控制,不隻是if/else第一種 if/else第二種 三元表達式第三種 二維清單第四種 邏輯運算符總結

第四種 邏輯運算符

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

且傳回值通常是最後一個變量。

if else if else語句格式_深入Python條件控制,不隻是if/else第一種 if/else第二種 三元表達式第三種 二維清單第四種 邏輯運算符總結

同樣的邏輯(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種控制的文法中,一和二是适用頻率較高的,如果執行語句較簡單推薦使用方法二。

而三和四,這兩種方法适用于特殊要求的場景下,代碼寫多了,看多了,自然就熟悉了。

繼續閱讀