當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python iter用法及代碼示例


用法:

iter(object[, sentinel])

返回一個迭代器對象。根據第二個參數的存在,第一個參數的解釋非常不同。如果沒有第二個參數,object 必須是支持可迭代協議(__iter__() 方法)的集合對象,或者它必須支持序列協議(__getitem__() 方法,整數參數從 0 開始)。如果它不支持這些協議中的任何一個,則會引發TypeError。如果給出第二個參數 sentinel ,則 object 必須是可調用對象。在這種情況下創建的迭代器將調用 object,每次調用其 __next__() 方法時都沒有參數;如果返回的值等於 sentinel ,將引發 StopIteration ,否則將返回該值。

另請參見迭代器類型。

iter() 第二種形式的一個有用應用是構建block-reader。例如,從二進製數據庫文件中讀取 fixed-width 塊,直到到達文件末尾:

from functools import partial
with open('mydata.db', 'rb') as f:
    for block in iter(partial(f.read, 64), b''):
        process_block(block)

相關用法


注:本文由純淨天空篩選整理自python.org大神的英文原創作品 iter。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。