千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機構(gòu)

手機站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時隨地免費學(xué)

千鋒教育

掃一掃進入千鋒手機站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學(xué)習(xí)站小程序
隨時隨地免費學(xué)習(xí)課程

當前位置:首頁  >  技術(shù)干貨  > Python 炫技操作:條件語句的七種寫法

Python 炫技操作:條件語句的七種寫法

來源:千鋒教育
發(fā)布人:xqq
時間: 2023-11-06 10:37:28 1699238248

有的人說Python入門容易,但是精通難的語言,這點我非常贊同。Python語言里有許多(而且是越來越多)的高級特性,是Python發(fā)燒友們非常喜歡的。在這些人的眼里,能夠?qū)懗瞿切┮话汩_發(fā)者看不懂的高級特性,就是高手,就是大神。但你要知道,在團隊合作里,炫技是大忌。為什么這么說呢?我說下自己的看法:

越簡潔的代碼,越清晰的邏輯,就越不容易出錯;

在團隊合作中,你的代碼不只有你在維護,降低別人的閱讀/理解代碼邏輯的成本是一種良好的品德;

簡單的代碼,只會用到最基本的語法糖,復(fù)雜的高級特性,會有更多的依賴(如語言的版本)。

本文我將寫一寫很簡單的條件判斷語句里那些炫技操作,在這里,如果你是Python發(fā)燒友,你可以學(xué)到一些寫出超酷的代碼書寫技巧,但學(xué)習(xí)歸學(xué)習(xí),希望你區(qū)分場景使用。

原代碼:這是一段非常簡單的通過年齡判斷一個人是否成年的代碼,由于代碼行數(shù)過多,有些人就不太愿意這樣寫,因為這體現(xiàn)不出自己多年的Python功力。

ifage>18:return"已成年"else:return"未成年"

下面我列舉了五種這段代碼的變異寫法,一個比一個還6,單獨拿出來比較好理解,放在工程代碼里,沒用過這些學(xué)法的人,一定會看得一臉懵逼,理解了之后,又不經(jīng)意大呼:還可以這樣寫?,而后就要開始罵街了:這是給人看的代碼?(除了第一種之外)

第一種

語法:

ifelse

例子:

>>>age1=20>>>age2=17>>>>>>>>>msg1="已成年"ifage1>18else"未成年">>>printmsg1已成年>>>>>>msg2="已成年"ifage2>18else"未成年">>>printmsg2未成年>>>

第二種

語法:

andor

例子

>>>msg1=age1>18and"已成年"or"未成年">>>msg2="已成年"ifage2>18else"未成年">>>>>>print(msg1)已成年>>>>>>print(msg2)未成年

第三種

語法:

("false","true")[condition]

例子:

>>>msg1=("未成年","未成年")[age1>18]>>>print(msg1)未成年>>>>>>>>>msg2=("未成年","未成年")[age2>18]>>>print(msg2)未成年

第四種

語法:

(lambda:,lambda:)[]()

例子:

>>>msg1=(lambda:"未成年",lambda:"已成年")[age1>18]()>>>print(msg1)已成年>>>>>>msg2=(lambda:"未成年",lambda:"已成年")[age2>18]()>>>print(msg2)未成年

第五種

語法:

{True:,False:}[]

例子:

>>>msg1={True:"已成年",False:"未成年"}[age1>18]>>>print(msg1)已成年>>>>>>msg2={True:"已成年",False:"未成年"}[age2>18]>>>print(msg2)未成年

第六種

語法:

(()and(,)or(,))[0]

例子

>>>msg1=((age1>18)and("已成年",)or("未成年",))[0]>>>print(msg1)已成年>>>>>>msg2=((age2>18)and("已成年",)or("未成年",))[0]>>>print(msg2)未成年

以上代碼,都比較簡單,注意看都能看懂,我就不做解釋了。看到這里,有沒有漲姿勢了,學(xué)了這么久的Python,這么多騷操作,還真是活久見......這六種寫法里,我最推薦使用的是第一種,自己也經(jīng)常在用,簡潔直白,代碼行還少。而其他的寫法雖然能寫,但是不會用,也不希望在我余生里碰到會在公共代碼里用這些寫法的同事。

以上內(nèi)容為大家介紹了Python炫技操作:條件語句的七種寫法,希望對大家有所幫助,如果想要了解更多Python相關(guān)知識,請關(guān)注IT培訓(xùn)機構(gòu):千鋒教育。http://www.mycheba.com/

聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強師集結(jié),手把手帶你蛻變精英
請您保持通訊暢通,專屬學(xué)習(xí)老師24小時內(nèi)將與您1V1溝通
免費領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學(xué) 138****2860 剛剛成功領(lǐng)取
王同學(xué) 131****2015 剛剛成功領(lǐng)取
張同學(xué) 133****4652 剛剛成功領(lǐng)取
李同學(xué) 135****8607 剛剛成功領(lǐng)取
楊同學(xué) 132****5667 剛剛成功領(lǐng)取
岳同學(xué) 134****6652 剛剛成功領(lǐng)取
梁同學(xué) 157****2950 剛剛成功領(lǐng)取
劉同學(xué) 189****1015 剛剛成功領(lǐng)取
張同學(xué) 155****4678 剛剛成功領(lǐng)取
鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
董同學(xué) 138****2867 剛剛成功領(lǐng)取
周同學(xué) 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT
久久亚洲中文字幕精品一区四,亚洲日本另类欧美一区二区,久久久久久久这里只有免费费精品,高清国产激情视频在线观看
免费精品久久久久久中文字幕 | 日本中文字幕在线 | 精品国产高清自在自线 | 亚洲中文在线无线码 | 日韩亚洲欧美一区二区三区在线 | 亚洲免费AV在线 |