1.While和for之間的主要功能區(qū)別是什么?
while循環(huán)是一條通用的循環(huán)語句簇抵,for循環(huán)設(shè)計(jì)用來在一個(gè)序列中遍歷各項(xiàng)(序列需要是真正可迭代的)典蜕。盡管while可以用計(jì)數(shù)器循環(huán)來模擬for循環(huán),但它需要更多的代碼并且可能運(yùn)行起來更慢些。
2.break和continue之間有何區(qū)別火的?
break語句立即退出一個(gè)循環(huán)(省略了下面的整個(gè)while或for循環(huán)語句)壶愤,continue跳回到循環(huán)的頂部(跳轉(zhuǎn)到while中測(cè)試之前的部分或for中的下一次元素獲取)馏鹤。
3.一個(gè)循環(huán)的else分句何時(shí)執(zhí)行征椒?
while或for循環(huán)中的else分句會(huì)在循環(huán)離開時(shí)執(zhí)行一次,但前提是循環(huán)是正常離開(沒有運(yùn)行break語句)湃累。如果有的話勃救,break會(huì)立刻離開循環(huán),跳過else部分治力。
4.在Python中怎樣編寫一個(gè)基于計(jì)數(shù)器的循環(huán)蒙秒?
計(jì)數(shù)器循環(huán)可以使用while語句編寫,并手動(dòng)記錄索引值琴许,或者以for循環(huán)寫成税肪,使用range內(nèi)置函數(shù)來產(chǎn)生連續(xù)的整數(shù)偏移值。任何一種都不是Python中的推薦的做法榜田,如果你只需要遍歷序列中所有元素益兄。只要可能就改用簡(jiǎn)單的for循環(huán),不用range或計(jì)數(shù)器箭券。這樣做不僅更容易編寫净捅,而且通常運(yùn)行得更快。
5.怎樣使range用于for循環(huán)中辩块?
range內(nèi)置函數(shù)可以用在一個(gè)for循環(huán)中來實(shí)現(xiàn)固定次數(shù)的重復(fù)蛔六,以按照偏移值而不是偏移值處的元素來掃描荆永,從而,在過程中省略連續(xù)的元素国章,并且在遍歷一個(gè)列表的時(shí)候修改它具钥。這樣的用法并非都需要range,大多數(shù)有其他的替代方法——如今液兽,掃描實(shí)際的元素骂删、三重限制分片,以及列表解析往往是較好的解決方案(盡管老練的C程序員傾向于統(tǒng)計(jì)東西的數(shù)目)四啰。