Python中if-else的多種寫法
阿新 • • 發佈:2017-08-17
and 得到 寫法 基本語法 方式 最大值 默認值 als pytho a, b= 1, 2 將a和b兩個變量中的最大值賦值給c
(1)常規寫法
if a>b:
c = a
else:
c = b
(2)表達式
c = a if a>b else b
(3)二維列表
c = [b,a][a>b]
(4)邏輯賦值
c = (a>b and [a] or [b])[0]
分析:
1、2為程序的基本語法不討論
3:首先a>b的取值為True或False,而在python中True的默認值為1False的默認值為0。
可得c = [b, a][1]或[b, a][0],即從列表中按下標索引的方式取值給c。
4:首先在Python中,對於邏輯運算符and 、or :
and: x and y 返回的結果是決定表達式結果的值。根據"短路"原則當x為真時決定表達式的真假由y的值決定,所有返回y;如果x為假則不進行y的判斷,返回x。
or: x or y 當x為真直接返回x的值;當x為假、y為真時返回y的值;當全為假時返回y的值。
所以當在式子中:
當 a>b為真:a>b and [a] 即為真,不在進行or的判斷,返回[a]
當 a>b為假:a>b and [a] 即為假,返回[b]
再對列表[a]或[b]進行按下標0進行取值,得到a或b。
Python中if-else的多種寫法