在一般情況下,語句是順序執行的:在一個函數的第一條語句,首先執行,然後是第二條,第三條...等等。可能有一種情況,當你需要執行代碼塊幾次或多數。
編程語言提供了各種控制結構,使程式執行更多複雜的路徑。
迴圈語句可以讓我們執行語句聲明或組多次。下圖說明瞭一個迴圈語句 -
Python編程語言提供了以下類型的迴圈處理的說明。
迴圈類型 | 描述 |
---|---|
當指定的條件為TRUE重複執行語句或組。它在執行循環體之前測試條件。 | |
執行一系列語句多次和縮寫代碼管理迴圈變數
|
|
可以使用一個或多個環在另一個 while 或者 for 或迴圈內
|
迴圈控制語句
迴圈控制語句改變其正常的順序執行。當執行離開了迴圈範圍,在該範圍內創建的所有自動對象被銷毀。
Python支持以下控制語句。點擊以下鏈接查看其詳細資訊。
控制語句
|
描述 |
---|---|
終止迴圈語句並立刻轉移執行迴圈後面的語句
|
|
跳過迴圈體的其餘部分,並立即重申之前重新測試迴圈條件狀態
|
|
在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()
上一篇:
Python3嵌套迴圈
下一篇:
Python3數字