<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>

                **偏函數(Partial function)** 在函數的參數那一講,我們通過為參數設定默認值的辦法來降低函數調用的難度,其實偏函數完全可以實現這種功能。 來個示例: 求余數,使用關鍵字傳參 ~~~ >>> def mod(x,m=2): ... return x%m ... >>> mod(3) 1 ~~~ 現在有**大量的計算需要對 3 求余數**,**又想少傳遞參數**,是不是需要把上面的函數重寫修改下默認值呢? ~~~ >>> def mod3(x,m=3): ... return x%m ... >>> mod(4) 1 ~~~ 可以是可以,有木有發現很多代碼重復呢?現在偏函數就非常有用了 ~~~ >>> from functools import partial >>> mod3 = partial(mod, m=3) >>> mod3(4) 1 ~~~ 從結果可知:我們實現了我們想要的功能,其實調用 ~~~ mod3(4) ~~~ 相當于 ~~~ kw = { 'm': 3 } int(4, **kw) ~~~ 假設我們在編寫偏函數時是這樣定義的 ~~~ >>> mod3 = functools.partial(mod, 3) ~~~ 其實創建偏函數時,實際上可以接收【函數對象】、【*args】和【**kwargs】這3個參數 這樣的定義實際上相當于把 3 這個參數付給了函數 mod(x,m=2) 中的 x 參數,m參數還是2 我們調用 ~~~ mod3() ~~~ 相當于調用 ~~~ mod(3,2) ~~~ 實例說明 ~~~ >>> mod3 = functools.partial(mod, 3) >>> mod3(4) #mod(3,4) 3 >>> mod3()#mod(3,2) 1 >>> mod3(1)#mod(3,1) 0 ~~~ 總結: 當函數的參數個數過多需要簡化時,可以使用 functools.partial 來創建一個新的函數,這個新函數可以固定住原函數的部分參數,從而達到在調用時更簡單。
                  <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>

                              哎呀哎呀视频在线观看