自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Python編程中特有的循環(huán)語句及其特點(diǎn)

開發(fā) 前端
Python編程的追求的就是簡單而優(yōu)雅,既無所不能,又接近人的自然表達(dá)模式。毋庸置疑,其簡潔而不簡單的魔力吸引力大量的擁躉。

Python編程的追求的就是簡單而優(yōu)雅,既無所不能,又接近人的自然表達(dá)模式。毋庸置疑,其簡潔而不簡單的魔力吸引力大量的擁躉。即便其語法和內(nèi)置函數(shù)等,如若能簡寫或縮寫的,那就絕不會(huì)完整地寫出來。如果你習(xí)慣了這種寫法,再去看看“Spring式”長命名,你簡直都懷疑自己當(dāng)初為什么要敲那么多次鍵盤——難道是為了鍛煉身體?

有點(diǎn)跑遠(yuǎn)了,回到主題上來。我們知道,標(biāo)準(zhǔn)的代碼執(zhí)行流程的控制語句,就這么幾種:順序執(zhí)行、條件執(zhí)行、循環(huán)執(zhí)行以及這幾種的組合或/和嵌套。各類編程語(如C/C++、Java、JavaScript、PHP、go等)在具體語法上實(shí)現(xiàn)各有差異,但基本雷同:if-else結(jié)構(gòu)、while結(jié)構(gòu)、for結(jié)構(gòu)等。

這里要說的是Python的循環(huán)結(jié)構(gòu)語法的常規(guī)拓展模式,以while為例,其常規(guī)語法結(jié)構(gòu)如下:

while condition:
#循環(huán)體
pass

這是典型的使用形式。其拓展結(jié)構(gòu)如下:

while conditon:
#循環(huán)體
pass
else:
#while循環(huán)體執(zhí)行完
pass

這種while-else結(jié)構(gòu)與if-else結(jié)構(gòu)不同之處在于if結(jié)構(gòu)下只能執(zhí)行其中的一種情況(滿足條件的),而while結(jié)構(gòu)通常兩部分都會(huì)執(zhí)行的。示例如下:

counter =0
while counter<5:
counter+=1
print(f"counter={counter}")
else:
print(f"while結(jié)束了,進(jìn)入else部分:當(dāng)前counter={counter}")

運(yùn)行上面的代碼,輸出結(jié)果如下:

counter=1

counter=2

counter=3

counter=4

counter=5

while結(jié)束了,進(jìn)入else部分:當(dāng)前counter=5

這個(gè)代碼沒啥故事,也容易理解。但我換一種形式再看看效果:

counter =0
while True:
counter+=1
print(f"counter={counter}")
if counter>=5:
break
else:
print(f"while結(jié)束,else部分...,counter={counter}")

運(yùn)行程序,輸出類似如下:

counter=1

counter=2

counter=3

counter=4

counter=5

完?duì)僮恿耍琫lse部分不執(zhí)行了……

當(dāng)然,Python的for-else結(jié)構(gòu)也一樣,這里就不舉例了,有興趣的自己試試。這里我想說的是,在Python的“循環(huán)-else”結(jié)構(gòu)中,如果使用了break提出循環(huán),它就跳出了整個(gè)循環(huán)結(jié)構(gòu),而循環(huán)所帶的else部分也是整個(gè)循環(huán)的一部分。所以,想在循環(huán)體工作結(jié)束后再干點(diǎn)掃尾工作,那一定注意不要用break跳出。

當(dāng)初我在給學(xué)生介紹這個(gè)結(jié)構(gòu)時(shí),說這個(gè)語法貌似沒有很雞肋。你Python不是追求簡潔嗎,為while/for添個(gè)else,沒有它會(huì)死嗎?你想在else里干的事情,不用else也一樣能干。

后來我遵循Python的“人性化”指導(dǎo)哲學(xué)又想了想:這就像在飯店里吃飯,正常吃完結(jié)賬(正常事情),出去時(shí)順帶在飯店門口抓把糖倒杯水(掃尾工作);但如果你吃飯時(shí)吃出個(gè)異物來,不能繼續(xù)愉快就餐了走了(非正常終止-break了),哪還有心情喝水吃糖?——可能就是這個(gè)意思吧 ^_& 。

Python編程還是很有意思的,但更多在于用Python去解決實(shí)際問題。所以Python語法很容易學(xué),但要能靈活的使用Python去解決問題還有很多庫和框架需要學(xué)習(xí)。

今天就寫這些了,其它Python特異的編程特殊實(shí)現(xiàn),下次再寫。


責(zé)任編輯:華軒 來源: 今日頭條
相關(guān)推薦

2011-10-31 14:53:23

Dart

2012-12-27 10:22:00

思科路由器網(wǎng)絡(luò)協(xié)議

2022-06-21 14:17:19

安全零信任信息安全

2010-06-21 09:39:31

anacron是什么

2010-10-08 14:54:22

JavaScript特

2021-08-11 09:00:30

Python基礎(chǔ)循環(huán)

2010-03-09 14:10:13

Python循環(huán)語句

2011-03-31 16:01:07

Access

2023-06-12 15:33:52

Scalafor循環(huán)語句

2010-09-09 16:34:19

SQL循環(huán)while

2010-06-23 14:37:57

Linux Bash命

2020-12-11 05:57:01

Python循環(huán)語句代碼

2010-09-10 14:33:32

SQL循環(huán)語句

2024-10-16 09:34:50

2025-02-05 08:00:39

2010-09-08 16:17:37

SQL循環(huán)語句

2010-03-09 14:00:20

Python循環(huán)語句

2023-01-31 08:44:50

SQL語句查詢

2024-06-12 12:59:16

2024-01-29 10:34:37

Java編程
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號