400-650-7353
您所在的位置:首頁(yè) > IT干貨資料 > python > 【Python基礎(chǔ)知識(shí)】Python中的for循環(huán)語(yǔ)句

【Python基礎(chǔ)知識(shí)】Python中的for循環(huán)語(yǔ)句

  • 發(fā)布: python培訓(xùn)
  • 來(lái)源:
  • 2021-07-26 14:40:28
  • 閱讀()
  • 分享
  • 手機(jī)端入口

1、for循環(huán)語(yǔ)句

Python中除了while循環(huán)外,還有for循環(huán)。for循環(huán)用來(lái)迭代Python中序列(sequence)的元素,或其他可迭代對(duì)象(iterable)。在Python中,序列是一種有序的集合類(lèi)型,如字符串和下一章將介紹的列表和元組。有一些通用的操作可以在每一種序列上使用,迭代就是其中之一。

for循環(huán)的語(yǔ)法格式如下:

for 迭代變量 in 可迭代對(duì)象:

循環(huán)體

使用for循環(huán)迭代打印字符串中的字符:

>>> for c in 'Python':

... print(c)

...

P

y

t

h

o

n

第一行代碼先獲取字符串'Python'的第一字符'P',再將其存儲(chǔ)在變量c中,接著Python讀取下一行代碼。在第二行代碼中,此時(shí)c的值為'P',print(c)將它打印出來(lái)。接下來(lái)這個(gè)循環(huán)會(huì)迭代(即重復(fù))這個(gè)過(guò)程,c會(huì)依次被賦值為'y'、't'……直到這個(gè)字符串結(jié)束。

準(zhǔn)確地說(shuō),Python中沒(méi)有“字符”這個(gè)概念,一個(gè)單獨(dú)的'P'也是字符串類(lèi)型,上文稱(chēng)為字符是為了與字符串區(qū)分。

還可以將迭代出字符串和其他字符串拼接起來(lái):

>>> vowel = 'AEIOU'

>>> for c in vowel:

... print(c, '是一個(gè)元音字母')

...

A 是一個(gè)元音字母

E 是一個(gè)元音字母

I 是一個(gè)元音字母

O 是一個(gè)元音字母

U 是一個(gè)元音字母

【Python基礎(chǔ)知識(shí)】Python中的for循環(huán)語(yǔ)句

實(shí)際上,甚至可以不使用迭代出的字符串,而僅僅利用字符串的長(zhǎng)度屬性(如'Python'的長(zhǎng)度是6),來(lái)重復(fù)做一些事。例如,打印6次“我愛(ài)Python”:

>>> for c in 'Python':

... print('我愛(ài)Python')

...

我愛(ài)Python

我愛(ài)Python

我愛(ài)Python

我愛(ài)Python

我愛(ài)Python

我愛(ài)Python

即使可以利用字符串的長(zhǎng)度屬性打印6次“我愛(ài)Python”,但卻不提倡這種做法。迭代字符串,而不利用迭代出的字符,會(huì)造成計(jì)算機(jī)資源的浪費(fèi)。

2、使用range()函數(shù)

由于重復(fù)地執(zhí)行同一段代碼是個(gè)很常見(jiàn)的任務(wù),因此,Python內(nèi)建了一個(gè)函數(shù)range()來(lái)使這個(gè)任務(wù)實(shí)現(xiàn)得更容易。使用range()函數(shù)來(lái)完成上面打印6次的任務(wù):

>>> for i in range(6):

... print('我愛(ài)Python')

...

我愛(ài)Python

我愛(ài)Python

我愛(ài)Python

我愛(ài)Python

我愛(ài)Python

我愛(ài)Python

迭代range()函數(shù)和迭代字符串類(lèi)似,每次都會(huì)獲取range()函數(shù)產(chǎn)生的一個(gè)值,然后將它存儲(chǔ)在變量i中。將上例的i打印出來(lái):

>>> for i in range(6):

... print(i)

...

0

1

2

3

4

5

可能與預(yù)期的結(jié)果不同,打印出來(lái)的數(shù)字是0~5,而不是1~6。這是由于編程語(yǔ)言往往都是從0開(kāi)始。

使用range()函數(shù)也可以完成打印1到100的任務(wù),給range()函數(shù)傳遞兩個(gè)參數(shù),第一個(gè)參數(shù)為起始值,第二個(gè)參數(shù)為結(jié)束值:

>>> for i in range(1, 101):

... print(i)

...

1

2

3

4

……

98

99

100

由此可見(jiàn),這種方式打印1到100,比使用while循環(huán)程序更加簡(jiǎn)潔。while循環(huán)往往需要初始化一個(gè)變量,還要在循環(huán)體中改變這個(gè)變量的值;而for循環(huán)往往只要指定次數(shù)或者指定初始值和結(jié)束值即可。

在上述程序中,range()函數(shù)的結(jié)束值不是100,而是101,而打印到100結(jié)束了。這是由于range()函數(shù)總是包含起始值而不包含結(jié)束值。

range()函數(shù)還可以在起始值和結(jié)束值的基礎(chǔ)上,加入第三個(gè)參數(shù)——步長(zhǎng)。步長(zhǎng)就是指定獲取數(shù)字的間隔。例如,打印1~10中的奇數(shù)和它們各自的平方:

>>> for i in range(1, 11, 2):

... print(i, '的平方是', i**2)

...

1 的平方是 1

3 的平方是 9

5 的平方是 25

7 的平方是 49

9 的平方是 81

文章“【Python基礎(chǔ)知識(shí)】Python中的for循環(huán)語(yǔ)句”已幫助

更多內(nèi)容

>>本文地址:http://nfbqydst.cn/zhuanye/2021/69429.html

THE END  

聲明:本站稿件版權(quán)均屬中公教育優(yōu)就業(yè)所有,未經(jīng)許可不得擅自轉(zhuǎn)載。

1 您的年齡

2 您的學(xué)歷

3 您更想做哪個(gè)方向的工作?

獲取測(cè)試結(jié)果
  • 大前端大前端
  • 大數(shù)據(jù)大數(shù)據(jù)
  • 互聯(lián)網(wǎng)營(yíng)銷(xiāo)互聯(lián)網(wǎng)營(yíng)銷(xiāo)
  • JavaJava
  • Linux云計(jì)算Linux
  • Python+人工智能Python
  • 嵌入式物聯(lián)網(wǎng)嵌入式
  • 全域電商運(yùn)營(yíng)全域電商運(yùn)營(yíng)
  • 軟件測(cè)試軟件測(cè)試
  • 室內(nèi)設(shè)計(jì)室內(nèi)設(shè)計(jì)
  • 平面設(shè)計(jì)平面設(shè)計(jì)
  • 電商設(shè)計(jì)電商設(shè)計(jì)
  • 網(wǎng)頁(yè)設(shè)計(jì)網(wǎng)頁(yè)設(shè)計(jì)
  • 全鏈路UI/UE設(shè)計(jì)UI設(shè)計(jì)
  • VR/AR游戲開(kāi)發(fā)VR/AR
  • 網(wǎng)絡(luò)安全網(wǎng)絡(luò)安全
  • 新媒體與短視頻運(yùn)營(yíng)新媒體
  • 直播帶貨直播帶貨
  • 智能機(jī)器人軟件開(kāi)發(fā)智能機(jī)器人
 

快速通道fast track

近期開(kāi)班時(shí)間TIME