1. <source id="nejs2"></source>
  2. <video id="nejs2"></video>
    <source id="nejs2"></source>
          1. Python iter()

            更新:

            python iter()函數有助于返回迭代器。迭代器是一個對象,這意味著它包含許多可計數的值。迭代器可以遍歷所有的值。這些對象對于循環很有用,比如 for 循環、while 循環等等。iter()對象一次迭代一個元素。

             **iter(object, sentinel)** # object can be sets,tuples etc 
            

            iter()參數:

            取 2 個參數,其中第一個參數是可以是集合、元組等的對象。

            參數 描述 必需/可選
            目標 必須創建迭代器的對象 需要
            哨兵 用于表示序列結束的特殊值。 可選擇的

            iter()返回值

            如果用戶定義的對象沒有實現__iter__()、__next__()__getitem()__,則會引發類型錯誤異常。如果還提供了 sentinel 參數,iter()將返回一個迭代器,直到找不到 sentinel 字符。

            | 投入 | 返回值 | | 對象和哨兵都給出了 | 迭代程序 |

            Python 中iter()方法的示例

            示例 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
            
            # raises StopIteration
            print(next(print_num_iter)) 
            

            輸出:

            1
            2
            3
            Traceback (most recent call last):
              File "", line 23, in 
            File "", line 11, in __next__
            StopIteration 

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

             class DoubleIt:
            
                def __init__(self):
                    self.start = 1
            
                def __iter__(self):
                    return self
            
                def __next__(self):
                    self.start *= 2
                    return self.start
            
                __call__ = __next__
            
            my_iter = iter(DoubleIt(), 16)
            
            for x in my_iter:
                print(x) 
            

            輸出:

            2
            4
            8 
            頂部 久久久久99精品成人片毛片_黃色A片三級三級三級无码_日本不卡高清视频v中文字幕_高清欧美视频一区二区
            1. <source id="nejs2"></source>
            2. <video id="nejs2"></video>
              <source id="nejs2"></source>