久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

Python 并列和或者條件的使用說明

瀏覽:5日期:2022-06-25 17:55:00

對(duì)Python 同時(shí)符合兩個(gè)的條件的語(yǔ)句,用and連接,不能用&&(會(huì)報(bào)錯(cuò));

也可以用or表示或者。

代碼如下:

print ’開始測(cè)試’ a = 12 b = 13 c = 1 a_s = ’12’ b_s = ’13’ if a < b and a_s < b_s: print ’True’ else: print ’不成立’ if a < b or a_s > b_s: print ’True’ else: print ’不成立’

輸出:

# 開始測(cè)試# True# True判斷一個(gè) list 是否為空

傳統(tǒng)的方式:

if len(mylist): # Do something with my listelse: # The list is empty

由于一個(gè)空 list 本身等同于 False,所以可以直接:

if mylist: # Do something with my listelse: # The list is empty

補(bǔ)充:python if語(yǔ)句多個(gè)條件-python if條件判斷語(yǔ)句

if的基本格式

if語(yǔ)句用來做判斷,并選擇要執(zhí)行的語(yǔ)句分支。

基本格式如下:

if CONDITION1:code_block(1)elif CONDITION2:code_block(2)elif CONDITION3:......else:code_block_else

其中elif是可選的,可以有任意多個(gè),else是可選的,表示全都不滿足條件時(shí)該執(zhí)行的分支。

例如:

a = 4if a > 3:print('hello world')

條件表達(dá)式Condition部分以運(yùn)算結(jié)果的True、False為if的分支執(zhí)行依據(jù)。在Python中所有數(shù)據(jù)對(duì)象要么是True,要么是False,所以任何一個(gè)數(shù)據(jù)、表達(dá)式都可以作為if的Condition。

例如:

if 1:...if a > b:...if ’a’:...if []:...if [[]]:...if a and b:...

至于如何判斷True、False,參見布爾值和邏輯運(yùn)算。

switch/case的替代方案

在python中并沒有switch和case的分支選擇語(yǔ)句,但是使用if或dict也能輕松實(shí)現(xiàn)。

例如,使用dict實(shí)現(xiàn)等值的分支選擇:

D = {'apple': 8.0,'pear': 3.5,'orange': 2.5,'banana': 2.5}fruit = 'banana'print(D[fruit])

上面沒有提供default情況時(shí)的分支,但使用get()可以設(shè)置dict中找不到key時(shí)默認(rèn)返回的值。

例如:

print(D.get('greens','no this fruit'))

還可以通過in的成員測(cè)試來設(shè)置分支:

if fruit in D:print(D[fruit])else:print('no this fruit')

dict只能做等值比較的分支選擇,要提供非等值的分支比較,只能用if語(yǔ)句。

例如:

score = 77if score >= 90:print('優(yōu)秀')elif 70 <= score < 90:print('良好')elif 60 <= score < 70:print('及格')else:print('不及格')

使用if的好處是通俗易懂,使用dict的好處是將數(shù)據(jù)存儲(chǔ)到數(shù)據(jù)結(jié)構(gòu)中,而存儲(chǔ)到數(shù)據(jù)結(jié)構(gòu)中的數(shù)據(jù)可以是很復(fù)雜的。比如,將函數(shù)作為dict的value。

if/else三元表達(dá)式

即所謂的三目運(yùn)算,只不過python中不支持x ? y : z的方式,而是使用if的另一種表達(dá)式語(yǔ)法。

對(duì)于if x: xxx; else yyy這樣的兩分支語(yǔ)句,可以使用更精簡(jiǎn)的表達(dá)式方式來描述:

xxx if x else yyy

雖然看上去和原始的沒什么區(qū)別,但很多時(shí)候要方便的多。

例如賦值:

if x:a = yelse:a = z

等價(jià)的三元if寫法:

a = y if x else z

注意,上面'='表示這整行是一個(gè)賦值語(yǔ)句,右邊的是評(píng)估對(duì)象,評(píng)估之后賦值給a,也就是等價(jià)于a = (y if x else z),而不是等價(jià)于(a = y) if x else z。

else不能缺少,否則不是三元運(yùn)算。另外,if的分支代碼體y和z都必須只能是單條語(yǔ)句,不能是多語(yǔ)句。也就是說,不能轉(zhuǎn)換下面的代碼格式為三元表達(dá)式。

if x:statement1statement2else:statement3statement4

實(shí)際上,三元運(yùn)算也能使用and / or來實(shí)現(xiàn),還能使用序列 + bool()來實(shí)現(xiàn)。

例如:

a = ((x and y) or z)

一般比較少用and/or來實(shí)現(xiàn)分支,因?yàn)榭勺x性不好,而且并不總是能和if等價(jià)。但有一種情況使用and/or非常方便:從多個(gè)值中選擇一個(gè)真值。

例如:

a = x or y or z or None

下面是使用序列 + bool()的方式實(shí)現(xiàn)的三元運(yùn)算操作,思路是bool(CONDITION)作為序列的索引。

a = [y, z][bool(x)]

還是那句話,python中基本總是首選簡(jiǎn)單的、通俗易懂的方式。所以,用if吧。

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 抚宁县| 景谷| 齐河县| 平罗县| 昆山市| 朝阳县| 探索| 滨海县| 蓝山县| 宁阳县| 新干县| 两当县| 曲水县| 秭归县| 泸西县| 上栗县| 东平县| 新乐市| 扎囊县| 凌海市| 公主岭市| 长治市| 临湘市| 交口县| 北海市| 沂源县| 济南市| 广西| 德清县| 禹州市| 吴江市| 泰顺县| 滨州市| 闻喜县| 横山县| 枞阳县| 陵川县| 清苑县| 岳西县| 庆元县| 葫芦岛市|