中文字幕第五页-中文字幕第页-中文字幕韩国-中文字幕最新-国产尤物二区三区在线观看-国产尤物福利视频一区二区

python偏函數的使用方法-創新互聯

小編給大家分享一下python偏函數的使用方法,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

專注于為中小企業提供成都網站設計、成都網站建設、外貿網站建設服務,電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業靈川免費做網站提供優質的服務。我們立足成都,凝聚了一批互聯網行業人才,有力地推動了近1000家企業的穩健成長,幫助中小企業通過網站建設實現規模擴充和轉變。

偏函數 partial 應用

函數在執行時,要帶上所有必要的參數進行調用。但是,有時參數可以在函數被調用之前提前獲知。這種情況下,一個函數有一個或多個參數預先就能用上,以便函數能用更少的參數進行調用。

偏函數是將所要承載的函數作為partial()函數的第一個參數,原函數的各個參數依次作為partial()函數后續的參數,除非使用關鍵字參數。

舉一個常見的例子來說明:

我們實現了一個取余函數,對于整數 100,取得對于不同數 m 的 100%m 的余數。

from functools import partial
 
def mod( n, m ):
  return n % m
 
mod_by_100 = partial( mod, 100 )
 
print mod( 100, 7 )  # 2
print mod_by_100( 7 )  # 2

下面再看一個例子,講的是如何進行不同的進制轉換。

from functools import partial
 
bin2dec = partial( int, base=2 )
print bin2dec( '0b10001' )  # 17
print bin2dec( '10001' )  # 17
 
hex2dec = partial( int, base=16 )
print hex2dec( '0x67' )  # 103
print hex2dec( '67' )  # 103

關于偏函數,可以對現有函數進行加強。

>>> import functools
>>> int2 =functools.partial (int, base=2) # 把 int 的轉換設為二進制了,這里 base 是 int 函數表示進制的參數。
>>>int2('1000000')
64
 
>>>int2('1010101')
85

在重設之后, 也可以在函數調用時傳入其他值:

>>> int2('1000000', base=10)  # 這里 base 變成了 10,覆蓋了已設的默認值 2。
1000000

注意這里在創建新的偏函數后,依舊可以更改已經設置的默認值,但是必須清晰指出是更改了 base 的值。

否則如果直接傳如一個數值會報錯:

int2('100', 10)  # 報錯,10 前未加 base=,不能分辨這是傳給 base 的

原因如下:

創建偏函數時,實際上可以接收函數對象、*args 和 **kw 這 3 個參數,當傳入:

int2 =functools.partial(int, base=2)  # int 是函數對象,base=2 是 **kw,沒有傳入 *args 參數

實際上固定了 int() 函數的關鍵字參數 base,也就是:

int2('10010')

相當于:

kw = { 'base': 2 }
int('10010', **kw)  # 如果不指明 base=2 而只是傳入 2 的話,那么 2 被認為是 *args 的值

當傳入:

max2 =functools.partial(max, 10)  # 這里的 10 顯然就是作為 *args 里的值傳入的

實際上會把 10 作為 *args 的一部分自動加到參數列表里去,也就是:

max2(5,6, 7)  # 原本有 *args 的列表,然后會把 10 再加進去

相當于:

args = (10, 5, 6, 7)
max(*args)

結果為10。

以上是python偏函數的使用方法的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注創新互聯行業資訊頻道!

當前標題:python偏函數的使用方法-創新互聯
網站網址:http://m.2m8n56k.cn/article24/dipsje.html

成都網站建設公司_創新互聯,為您提供商城網站營銷型網站建設域名注冊網站維護網站內鏈靜態網站

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

外貿網站制作
主站蜘蛛池模板: 9久久免费国产精品特黄 | 中文字幕成人免费高清在线 | 亚洲精品高清在线 | 亚洲成在人线免费视频 | 夜晚福利网站 | 夜鲁夜鲁夜鲁在线观看福利 | 久久综合久久自在自线精品自 | 欧美另类在线观看 | 俄罗斯黄色毛片 | 欧美曰韩一区二区三区 | 中国精品自拍 | 久久精品在线 | 亚洲成人福利网站 | 欧美一级级毛片 | 成人午夜视频一区二区国语 | 久久香蕉国产线看观看式 | 黄色美女免费网站 | 日韩欧美在线观看视频 | a级成人毛片免费视频高清 a级高清观看视频在线看 | 国产91久久最新观看地址 | 日本aaa视频| 国产精品久久久久久久久久久不卡 | 亚洲综合第一欧美日韩中文 | 亚洲欧美94色 | 怡红院在线视频观看 | 日韩 国产 欧美视频一区二区三区 | 九九精彩视频在线观看视频 | 欧美1314性欧美 | 亚洲欧美日韩精品香蕉 | a级毛片免费高清视频 | 真人真实毛片免费观看 | 中文字幕久久久 | 韩国女主播青草在线观看 | 欧美自拍视频在线 | 免费国产成人α片 | 亚洲一级毛片免费看 | 99精品免费在线 | 玖玖精品在线视频 | 国产杨幂福利在线视频观看 | 精品综合久久久久久99 | 久久精品99视频 |