亚洲区国产区激情区无码区,国产成人mv视频在线观看,国产A毛片AAAAAA,亚洲精品国产首次亮相在线

Python 基礎教程

Python 流程控制

Python 函數(shù)

Python 數(shù)據(jù)類型

Python 文件操作

Python 對象和類

Python 日期和時間

Python 高級知識

Python 參考手冊

Python iter() 使用方法及示例

Python 內置函數(shù)

Python的iter()函數(shù)返回給定對象的迭代器。

iter()函數(shù)創(chuàng)建一個可以一次迭代一個元素的對象。

當與for循環(huán),while循環(huán)等循環(huán)耦合時,這些對象很有用。

iter()函數(shù)的語法為:

iter(object, sentinel)

iter()參數(shù)

iter()函數(shù)有兩個參數(shù):

  • object-必須創(chuàng)建迭代器的對象(可以是set,tuples等)

  • sentinel(可選) -用于表示序列結束的特殊值

iter()返回值

  • iter()函數(shù)返回給定對象的迭代器對象。

  • 如果用戶定義的對象未實現(xiàn)__iter__(),__next__()或__getitem()__,則會引發(fā)TypeError異常。

  • 如果還提供了sentinel參數(shù),iter()將返回一個迭代器,直到?jīng)]有找到標記字符為止。

示例1:Python iter()的工作

# 元音列表
list of vowels
vowels = ['a', 'e', 'i', 'o', 'u']
vowels_iter = iter(vowels)

print(next(vowels_iter))    # 'a'
print(next(vowels_iter))    # 'e'
print(next(vowels_iter))    # 'i'
print(next(vowels_iter))    # 'o'
print(next(vowels_iter))    # 'u'

輸出結果

a
e
i
o
u

示例2:自定義對象的iter()

class PrintNumber:
    def __init__(self, max):
        self.max = max

    def __iter__(self):
        self.num = 0
        return self

    def __next__(self):
        if(self.num >= self.max):
            raise StopIteration
        self.num += 1
        return self.num

print_num = PrintNumber(3)

print_num_iter = iter(print_num)
print(next(print_num_iter))  # 1
print(next(print_num_iter))  # 2
print(next(print_num_iter))  # 3

# 引發(fā)StopIteration
print(next(print_num_iter))

輸出結果

1
2
3
StopIteration

示例3:帶有sentinel參數(shù)的iter()

with open('mydata.txt') as fp:
    for line in iter(fp.readline, ''):
        processLine(line)

運行該程序時,它將以讀取模式打開mydata.txt文件。

然后,for循環(huán)中的iter(fp.readline,'')調用readline(讀取文本文件中的每一行),直到到達標記字符''(空字符串)為止。

推薦閱讀:Python迭代器  Python 內置函數(shù)