Skip to Content
Python 技術手冊 第三版
book

Python 技術手冊 第三版

by lex Martelli, Anna Martelli Ravenscroft, Steve Holden
January 2018
Intermediate to advanced content levelIntermediate to advanced
856 pages
17h 17m
Chinese
GoTop Information, Inc.
Content preview from Python 技術手冊 第三版
流程控制述句
|
89
Python
以迴圈處理串列時,別插入、附加或刪除項目(重新繫
結一個既存索引上的項目是 OK )。
以迴圈處理字典時,不要新增或刪除項目(為一個既存
的鍵值重新繫結值是 OK )。
以迴圈處理集合時,不要新增或刪除項目(不允許任何
更動)。
目標的控制變數可以在迴圈主體中被重新繫結,但會在迴圈的下次迭代
iteration)再次被重新繫結到迭代器中的下個項目。如果迭代器沒有產出
任何項目,迴圈主體就完全不會執行。在這種情況中,控制變數不會以任
何方式被
for
述句所繫結或重新繫結。然而,如果迭代器至少產出一個項
目,那麼迴圈述句結束後,控制變數就仍然繫結到迴圈述句將之繫結的最
後一個值。因此,下面的程式碼只在
someseq
不為空時才正確:
for x in someseq:
process(x)
print('Last item processed was', x)
迭代器
一個
迭代器
iterator
是讓你可以呼叫
next(i)
的一個物件
i
next(i)
傳迭代器
i
的下一個項目(next item),或者在迭代器
i
已經沒有項目時,
提出一個
StopIteration
例外。你也可以呼叫
next(i, default)
,在這種情
況下,當迭代器
i
沒有項目的時候,這個呼叫就會回傳
default
撰寫一個類別(class,參閱後面的「類別與實體」)的時候,你能讓該類
別的實體(instances)成為迭代器,只要定義一個特殊方法
_ _next_ _
(在
v2 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

測試驅動開發|使用 Python

測試驅動開發|使用 Python

Harry J.W. Percival
Linux 内核观测技术BPF

Linux 内核观测技术BPF

David Calavera, Lorenzo Fontana

Publisher Resources

ISBN: 9789864766819