Python3迴圈


在一般情況下,語句是順序執行的:在一個函式的第一條語句,首先執行,然後是第二條,第三條...等等。可能有一種情況,當你需要執行程式碼塊幾次或多數。
程式設計語言提供了各種控制結構,使程式執行更多複雜的路徑。

迴圈語句可以讓我們執行語句宣告或組多次。下圖說明了一個迴圈語句 -

Python程式設計語言提供了以下型別的迴圈處理的說明。
迴圈型別 描述

while迴圈

當指定的條件為TRUE重複執行語句或組。它在執行迴圈體之前測試條件。

for迴圈

執行一系列語句多次和縮寫程式碼管理迴圈變數

巢狀迴圈

可以使用一個或多個環在另一個 while 或者 for 或迴圈內

迴圈控制語句

迴圈控制語句改變其正常的順序執行。當執行離開了回圈範圍,在該範圍內建立的所有自動物件被銷毀。

Python支援以下控制語句。點選以下連結檢視其詳細資訊。
控制語句
描述

break語句

終止迴圈語句併立刻轉移執行迴圈後面的語句

continue語句

跳過迴圈體的其餘部分,並立即重申之前重新測試迴圈條件狀態

pass語句

在Python中的pass語句的使用時,需要在一份宣告中使用,但又不希望執行任何命令或程式碼
我們通過迴圈控制語句簡短地說明 -

疊代器和發生器

疊代器是一個物件,它允許程式員遍歷集合的所有元素,而不管其具體的實現。在Python疊代器物件實現了兩個方法: iter() 和 next()

字串列表或元組物件可用於建立一個疊代器(Iterator)
list=[1,2,3,4]
it = iter(list) # this builds an iterator object
print (next(it)) #prints next available element in iterator
Iterator object can be traversed using regular for statement
!usr//bin/python3
for x in it:
   print (x, end=" ")
or using next() function
while True:
   try:
      print (next(it))
   except StopIteration:
      sys.exit() #you have to import sys module for this
所述的發生器是使用 yield 函式產生或會產生yield序列值。

當一個生成器函式被呼叫,它返回一個生成器物件甚至不需要開始執行該函式。 當 next()方法被呼叫的第一次,函式開始執行,直到達到其返回值產生yield語句。yield跟蹤並記住最後一次執行。第二 next()函式從上一個值繼續呼叫。

# Following example defines a generator which generates an iterator for all the Fibonacci numbers.
!usr//bin/python3
import sys
def fibonacci(n): #generator function
    a, b, counter = 0, 1, 0
    while True:
        if (counter > n): 
            return
        yield a
        a, b = b, a + b
        counter += 1
f = fibonacci(5) #f is iterator object

while True:
   try:
      print (next(f), end=" ")
   except StopIteration:
      sys.exit()