濮阳杆衣贸易有限公司

主頁(yè) > 知識(shí)庫(kù) > Python 并列和或者條件的使用說(shuō)明

Python 并列和或者條件的使用說(shuō)明

熱門(mén)標(biāo)簽:電銷(xiāo)機(jī)器人 金倫通信 南京crm外呼系統(tǒng)排名 crm電銷(xiāo)機(jī)器人 汕頭電商外呼系統(tǒng)供應(yīng)商 北京外呼電銷(xiāo)機(jī)器人招商 400電話 申請(qǐng) 條件 賓館能在百度地圖標(biāo)注嗎 鄭州智能外呼系統(tǒng)中心 云南地圖標(biāo)注

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

也可以用or表示或者。

代碼如下:

print '開(kāi)始測(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 '不成立'

輸出:

# 開(kāi)始測(cè)試
# True
# True

判斷一個(gè) list 是否為空

傳統(tǒng)的方式:

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

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

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

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

if的基本格式

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

基本格式如下:

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

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

例如:

a = 4
if 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,參見(jiàn)布爾值和邏輯運(yùn)算。

switch/case的替代方案

在python中并沒(méi)有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])

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

例如:

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

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

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

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

例如:

score = 77
if 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)算,只不過(guò)python中不支持x ? y : z的方式,而是使用if的另一種表達(dá)式語(yǔ)法。

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

xxx if x else yyy

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

例如賦值:

if x:
a = y
else:
a = z

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

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ǔ)句。也就是說(shuō),不能轉(zhuǎn)換下面的代碼格式為三元表達(dá)式。

if x:
statement1
statement2
else:
statement3
statement4

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

例如:

a = ((x and y) or z)

一般比較少用and/or來(lái)實(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è)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。

您可能感興趣的文章:
  • Python中if有多個(gè)條件處理方法
  • Python的條件語(yǔ)句與運(yùn)算符優(yōu)先級(jí)詳解
  • python中的&&及||的實(shí)現(xiàn)示例
  • 淺析Python中的多條件排序?qū)崿F(xiàn)

標(biāo)簽:石家莊 梅州 文山 西寧 浙江 懷化 昆明 錫林郭勒盟

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Python 并列和或者條件的使用說(shuō)明》,本文關(guān)鍵詞  Python,并列,和,或者,條件,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Python 并列和或者條件的使用說(shuō)明》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于Python 并列和或者條件的使用說(shuō)明的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    富锦市| 瑞丽市| 沛县| 平湖市| 陵水| 双桥区| 远安县| 商河县| 如皋市| 杭锦后旗| 河源市| 延寿县| 平顶山市| 新竹市| 自贡市| 琼中| 诸暨市| 绥滨县| 滨州市| 通山县| 慈利县| 高要市| 江川县| 青州市| 文水县| 房产| 轮台县| 唐海县| 贵州省| 武平县| 军事| 商丘市| 沈阳市| 黎城县| 德钦县| 新宁县| 井陉县| 霍邱县| 中江县| 绵竹市| 昭觉县|