<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                ## 問題 你想實現一個自定義迭代模式,跟普通的內置函數比如 `range()` , `reversed()` 不一樣。 ## 解決方案 如果你想實現一種新的迭代模式,使用一個生成器函數來定義它。下面是一個生產某個范圍內浮點數的生成器: def frange(start, stop, increment): x = start while x < stop: yield x x += increment 為了使用這個函數,你可以用for循環迭代它或者使用其他接受一個可迭代對象的函數(比如 `sum()` , `list()` 等)。示例如下: >>> for n in frange(0, 4, 0.5): ... print(n) ... 0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 >>> list(frange(0, 1, 0.125)) [0, 0.125, 0.25, 0.375, 0.5, 0.625, 0.75, 0.875] >>> ## 討論 一個函數中需要有一個yield語句即可將其轉換為一個生成器。跟普通函數不同的是,生成器只能用于迭代操作。下面是一個實驗,向你展示這樣的函數底層工作機制: >>> def countdown(n): ... print('Starting to count from', n) ... while n > 0: ... yield n ... n -= 1 ... print('Done!') ... >>> # Create the generator, notice no output appears >>> c = countdown(3) >>> c <generator object countdown at 0x1006a0af0> >>> # Run to first yield and emit a value >>> next(c) Starting to count from 3 3 >>> # Run to the next yield >>> next(c) 2 >>> # Run to next yield >>> next(c) 1 >>> # Run to next yield (iteration stops) >>> next(c) Done! Traceback (most recent call last): File "<stdin>", line 1, in <module> StopIteration >>> 一個生成器函數主要特征是它只會回應在迭代中使用到的”next”操作。一旦生成器函數返回退出,迭代終止。我們在迭代中通常使用的for語句會自動處理這些細節,所以你無需擔心。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看