作者簡(jiǎn)介: 辭七七,目前大一,正在學(xué)習(xí)C/C++,Java,Python等
作者主頁(yè): 七七的個(gè)人主頁(yè)
文章收錄專(zhuān)欄: Python入門(mén),本專(zhuān)欄主要內(nèi)容為Python的基礎(chǔ)語(yǔ)法,Python中的選擇循環(huán)語(yǔ)句,Python函數(shù),Python的數(shù)據(jù)容器等。
歡迎大家點(diǎn)贊 ?? 收藏 ? 加關(guān)注哦!????
1. for循環(huán)的基礎(chǔ)語(yǔ)法
1.1 基礎(chǔ)語(yǔ)法
除了while循環(huán)語(yǔ)句外,Python同樣提供了for循環(huán)語(yǔ)句。
兩者能完成的功能基本差不多,但仍有一些區(qū)別:
while循環(huán)的循環(huán)條件是自定義的,自行控制循環(huán)條件
for循環(huán)是一種”輪詢(xún)”機(jī)制,是對(duì)一批內(nèi)容進(jìn)行”逐個(gè)處理”
for循環(huán)流程圖
for循環(huán)就是將”待辦事項(xiàng)”逐個(gè)完成的循環(huán)機(jī)制
for循環(huán)的格式:
從待處理數(shù)據(jù)集中:逐個(gè)取出數(shù)據(jù),賦值給臨時(shí)變量
遍歷字符串
name = "itheima"
# 定義字符串name
for x in name:
# 將name的內(nèi)容,挨個(gè)取出賦予x臨時(shí)變量
# 就可以在循環(huán)體內(nèi)對(duì)x進(jìn)行處理
print(x)
打印結(jié)果:
可以看出,for循環(huán)是將字符串的內(nèi)容:依次取出
所以,for循環(huán)也被稱(chēng)之為:遍歷循環(huán)
for循環(huán)注意點(diǎn)
同while循環(huán)不同,for循環(huán)是無(wú)法定義循環(huán)條件的。
只能從被處理的數(shù)據(jù)集中,依次取出內(nèi)容進(jìn)行處理。
所以,理論上講,Python的for循環(huán)無(wú)法構(gòu)建無(wú)限循環(huán)(被處理的數(shù)據(jù)集不可能無(wú)限大)
總結(jié):
- for循環(huán)的語(yǔ)法格式是:
![]()
- for循環(huán)的注意點(diǎn)
- 無(wú)法定義循環(huán)條件,只能被動(dòng)取出數(shù)據(jù)處理
- 要注意,循環(huán)內(nèi)的語(yǔ)句,需要有空格縮進(jìn)
練習(xí):統(tǒng)計(jì)字符串中,有多少個(gè)字母a
# 定義字符串穿
name = "itheima is a brand of itcast"
# 定義一個(gè)變量,用來(lái)統(tǒng)計(jì)有多少個(gè)a
count = 0
# for 循環(huán)統(tǒng)計(jì)
# for 臨時(shí)變量 in 被統(tǒng)計(jì)的數(shù)據(jù):
for x in name:
if x == "a":
# 通過(guò)if判斷變量是否等于a,等于a時(shí)count+1
count += 1
print(f"被統(tǒng)計(jì)的字符串中有{count}個(gè)a")
1.2 range語(yǔ)句
語(yǔ)法中的:待處理數(shù)據(jù)集,嚴(yán)格來(lái)說(shuō),稱(chēng)之為:可迭代類(lèi)型
可迭代類(lèi)型指,其內(nèi)容可以一個(gè)個(gè)依次取出的一種類(lèi)型,包括:
- 字符串
- 列表
- 元組等
目前我們只學(xué)習(xí)了字符串類(lèi)型,其余類(lèi)型在后面會(huì)詳細(xì)學(xué)習(xí)它們
for循環(huán)語(yǔ)句,本質(zhì)上是遍歷:可迭代對(duì)象。
盡管除字符串外,其它可迭代類(lèi)型目前沒(méi)學(xué)習(xí)到,但不妨礙我們通過(guò)學(xué)習(xí)range語(yǔ)句,獲得一個(gè)簡(jiǎn)單的數(shù)字序列(可迭代類(lèi)型的一種)。
range語(yǔ)句就是可以幫我們?nèi)ド蓴?shù)字序列的
語(yǔ)法1:range(num)
獲取一個(gè)從0開(kāi)始,到num結(jié)束的數(shù)字序列(不含num本身)
如range(5)取得的數(shù)據(jù)是:[0, 1, 2, 3, 4]
語(yǔ)法2:range(num1,num2)
獲得一個(gè)從num1開(kāi)始,到num2結(jié)束的數(shù)字序列(不含num2本身)
如,range(5, 10)取得的數(shù)據(jù)是:[5, 6, 7, 8, 9]
語(yǔ)法3: range(num1, num2, step)
獲得一個(gè)從num1開(kāi)始,到num2結(jié)束的數(shù)字序列(不含num2本身)
數(shù)字之間的步長(zhǎng),以step為準(zhǔn)(step默認(rèn)為1)
如,range(5, 10, 2)取得的數(shù)據(jù)是:[5, 7, 9]
用for循環(huán)遍歷range序列
for i in range(10):
print(i)
運(yùn)行結(jié)果:
總結(jié):
- range語(yǔ)句的功能是:
獲得一個(gè)數(shù)字序列(可迭代類(lèi)型的一種)- range語(yǔ)句的語(yǔ)法格式:
語(yǔ)法1:range(num)
語(yǔ)法2:range(num1,num2)
語(yǔ)法3:range(num1, num2, step)
- range語(yǔ)句的注意事項(xiàng):
- 語(yǔ)法1從0開(kāi)始,到num結(jié)束(不含num本身)
- 語(yǔ)法2從num1開(kāi)始,到num2結(jié)束(不含num2本身)
- 語(yǔ)法3從num1開(kāi)始,到num2結(jié)束(不含num2本身),步長(zhǎng)以step值為準(zhǔn)
range的用途很多,多數(shù)用在for循環(huán)場(chǎng)景
1.3 變量作用域
回看for循環(huán)的語(yǔ)法,我們會(huì)發(fā)現(xiàn),將從數(shù)據(jù)集(序列)中取出的數(shù)據(jù)賦值給:臨時(shí)變量
為什么是臨時(shí)的呢?
這是因?yàn)榕R時(shí)變量,在編程規(guī)范上,作用范圍(作用域),只限定在for循環(huán)內(nèi)部
如果在for循環(huán)外部訪問(wèn)臨時(shí)變量:
- 實(shí)際上是可以訪問(wèn)到的
- 在編程規(guī)范上,是不允許、不建議這么做的
如果實(shí)在需要在循環(huán)外訪問(wèn)循環(huán)內(nèi)的臨時(shí)變量,可以在循環(huán)外預(yù)先定義
如圖,每一次循環(huán)的時(shí)候,都會(huì)將取出的值賦予i變量。
- 由于i變量是在循環(huán)之前(外)定義的
- 在循環(huán)外訪問(wèn)i變量是合理的、允許的
總結(jié);文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-459940.html
- for循環(huán)中的臨時(shí)變量,其作用域限定為:
循環(huán)內(nèi)- 這種限定:
是編程規(guī)范的限定,而非強(qiáng)制限定
不遵守也能正常運(yùn)行,但是不建議這樣做
如需訪問(wèn)臨時(shí)變量,可以預(yù)先在循環(huán)外定義它
好了關(guān)于【Python入門(mén)篇】Python中循環(huán)語(yǔ)句(for循環(huán)的基礎(chǔ)語(yǔ)法),七七今天就先分享到這里,如果這篇文章對(duì)大家有幫助,請(qǐng)佬佬們點(diǎn)個(gè)贊再走吧!如果發(fā)現(xiàn)什么問(wèn)題,歡迎評(píng)論區(qū)留言!????文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-459940.html
到了這里,關(guān)于【Python入門(mén)篇】——Python中循環(huán)語(yǔ)句(for循環(huán)的基礎(chǔ)語(yǔ)法)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!