国产一区二区精品-国产一区二区精品久-国产一区二区精品久久-国产一区二区精品久久91-免费毛片播放-免费毛片基地

千鋒教育-做有情懷、有良心、有品質的職業教育機構

手機站
千鋒教育

千鋒學習站 | 隨時隨地免費學

千鋒教育

掃一掃進入千鋒手機站

領取全套視頻
千鋒教育

關注千鋒學習站小程序
隨時隨地免費學習課程

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

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

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

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

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

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

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

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

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

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

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

第一種

語法:

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)未成年

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

以上內容為大家介紹了Python炫技操作:條件語句的七種寫法,希望對大家有所幫助,如果想要了解更多Python相關知識,請關注IT培訓機構:千鋒教育。http://www.kei0345678.cn/

tags: python培訓
聲明:本站稿件版權均屬千鋒教育所有,未經許可不得擅自轉載。
10年以上業內強師集結,手把手帶你蛻變精英
請您保持通訊暢通,專屬學習老師24小時內將與您1V1溝通
免費領取
今日已有369人領取成功
劉同學 138****2860 剛剛成功領取
王同學 131****2015 剛剛成功領取
張同學 133****4652 剛剛成功領取
李同學 135****8607 剛剛成功領取
楊同學 132****5667 剛剛成功領取
岳同學 134****6652 剛剛成功領取
梁同學 157****2950 剛剛成功領取
劉同學 189****1015 剛剛成功領取
張同學 155****4678 剛剛成功領取
鄒同學 139****2907 剛剛成功領取
董同學 138****2867 剛剛成功領取
周同學 136****3602 剛剛成功領取
相關推薦HOT