python的迴圈語句有兩種:for 和 while,for迴圈是對可迭代物件進行迭代並處理,因此for的物件是乙個可以迭代的物件,而while迴圈的條件則是乙個布林值可以是乙個返回布林值的表示式。
for迴圈是乙個有限次的迴圈,其形式是:for ... in ... , 與保留字in一起使用,用於取出可迭代物件的值。
因為for迴圈的物件必須是乙個可迭代物件,那麼怎麼確定它是否可以for迴圈呢?
python的一些基本資料型別: str、list、tuple、dict、set
對於其他物件,可以使用一下方法:
from collections import iterable
isinstance('物件',iterable)
注: isinstance是判斷物件是否為該類的例項化,而iterable這個抽象基類提供了乙個 __subclasshook__方法,__subclasshook__方法的作用:只要物件可以有__next__和__inter__就能返回true。所以用isinstance可以判斷任何可迭代物件,同時這應該也是乙個較好的方法。確定了是可以迭代的物件就可以進行for迴圈了,其格式如下:
for 變數 in 可迭代物件:
《**塊》
其中變數用於可迭代物件迭代出來的值,變數可以是多個,若變數為多個時,變數之間與迭代值之間怎麼取值,是通過解包的標準實現的。而當可迭代物件為對格式,python直譯器會把其當成乙個元組刑如:(obj1, obj2, obj3),個人覺得這樣做沒有什麼意義。
for i in range(12): # range 函式是產生乙個迭代器,詳細可以去看基本內建函式
print(i)
############# 結果 ###############
"""012
3456
78910
11"""
注:假如你已經知道了什麼是可迭代物件的話,那麼應該知道按照可迭代協議規定,當迭代到最後乙個元素時,直譯器會丟擲stopiteration異常。但在這裡for迴圈去沒有丟擲異常,這是為什麼呢?很簡單,for迴圈內部已經做了異常處理了。while是指當條件為true時,才執行**塊,假如一直為true的話就會一直執行。
其格式為:
while 《條件》:
《**塊》
下面展示乙個簡單的作為演示:
上圖表示,只用當a小於10的時候才會執行while裡面的**塊
在迴圈體內還可以使用的關鍵字 —— break、continuebreak的作用是跳出當前迴圈。
a = 1
while true:
a += 1
print(a)
if a == 3: break
# 2# 3
上述的**,當a=3時就會跳出迴圈,對於多層迴圈來說就是跳出本層迴圈。
a = 1
while a < 5: # 迴圈1
print(a)
a += 2
while true: # 迴圈2
break
print("break ..... ")
# 1# break .....
# 3# break .....
這個列子說明了,break只會跳出當前層的**(迴圈2),而不能退其外層迴圈(迴圈1)。
continue的作用於break的不同:跳過continue之後的**, 注意:不會跳出迴圈。
a = 1
while a < 5:
a += 1
if a == 3:
print("continue .....")
continue
print(a)
# 2# continue .....
# 4# 5
else在迴圈語句中一般與while搭配使用,但也可以與for使用。我想在迴圈時引入else的目的僅是:在退出迴圈時進行一些處理,因為此時else內可以使用while和for中的區域性變數,而不 需要定義全域性變數來儲存一些只使用一次的值。
while
i = 0
while i < 5:
i += 1
print(f"while ")
else:
print("end", "i = %d" % i)
forfor i in range(10):
print(i)
else:
print(i)
Python迴圈語句 for迴圈
說明 1 計次迴圈,一般應用在迴圈次數已知的情況下。通常適用於列舉或遍歷序列以及迭代物件中的元素。2 迭代變數用於儲存讀取的值。3 物件為要遍歷或迭代的物件,該物件可以是任何有序的序列物件,如字串 列表 元組等 迴圈體為一組被重複執行的語句。4 for迴圈語句可以迴圈數值 遍歷字串 列表 元組 集合...
Python的迴圈語句
while 迴圈 迴圈就是重複性的執行一件相同或者相似的事情多次 缺點 每行 完全一致,造成了 重複 重要原則 寫程式的時候,要盡可能避免 重複。因為在以後需求變更時,所有重複性的 都需要 進行修改,不利於程式的維護 print print print print print while 迴圈 wh...
Python的for迴圈語句
昨天講述了python的基礎知識,今天我帶大家學習一下python的乙個簡單的迴圈語句 for 語句,並且為大家做了乙個簡單的小遊戲,大家可以娛樂一下 for in 結構 index 索引 range 範圍 for index in range 10 print index 內1,迴圈開始位置數值 ...