Python學(xué)習(xí)筆記(十)偏函數(shù)

1)int()函數(shù)還提供額外的base參數(shù),默認(rèn)值為10。如果傳入base參數(shù),就可以做N進(jìn)制的轉(zhuǎn)換:

>>> int('12345', base=8)

5349

即該數(shù)是一個(gè)八進(jìn)制數(shù),將其轉(zhuǎn)換成為一個(gè)十進(jìn)制的數(shù)

def int2(x, base=2):

? ? return int(x, base)


>>> int2('1000000')

64

2)簡(jiǎn)單總結(jié)functools.partial的作用就是,把一個(gè)函數(shù)的某些參數(shù)給固定?。ㄒ簿褪窃O(shè)置默認(rèn)值),返回一個(gè)新的函數(shù),調(diào)用這個(gè)新函數(shù)會(huì)更簡(jiǎn)單。

>>> import functools

>>> int2 = functools.partial(int, base=2)

注意到上面的新的int2函數(shù),僅僅是把base參數(shù)重新設(shè)定默認(rèn)值為2,但也可以在函數(shù)調(diào)用時(shí)傳入其他值,即在函數(shù)int2()中間傳入base=10也是可行的

3)創(chuàng)建偏函數(shù)時(shí),實(shí)際上可以接收函數(shù)對(duì)象、*args和**kw這3個(gè)參數(shù)

3.1)當(dāng)使用(int,base=2)時(shí),固定了int()函數(shù)的關(guān)鍵字參數(shù)base 相當(dāng)于

kw = { 'base': 2 }

int('10010', **kw)

3.2)當(dāng)使用(max,10)時(shí),10作為*args的一部分自動(dòng)加入左邊進(jìn)行比較,相當(dāng)于

args = (10, 5, 6, 7)

max(*args)


4)當(dāng)函數(shù)的參數(shù)個(gè)數(shù)太多時(shí),建立一個(gè)新函數(shù)固定住原函數(shù)的部分參數(shù)進(jìn)行簡(jiǎn)化

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 函數(shù)式編程就是一種抽象程度很高的編程范式,純粹的函數(shù)式編程語(yǔ)言編寫的函數(shù)沒(méi)有變量,因此,任意一個(gè)函數(shù),只要輸入是確...
    齊天大圣李圣杰閱讀 1,638評(píng)論 0 2
  • 要點(diǎn): 函數(shù)式編程:注意不是“函數(shù)編程”,多了一個(gè)“式” 模塊:如何使用模塊 面向?qū)ο缶幊蹋好嫦驅(qū)ο蟮母拍?、屬性?..
    victorsungo閱讀 1,697評(píng)論 0 6
  • 基礎(chǔ)1.r''表示''內(nèi)部的字符串默認(rèn)不轉(zhuǎn)義2.'''...'''表示多行內(nèi)容3. 布爾值:True、False(...
    neo已經(jīng)被使用閱讀 1,886評(píng)論 0 5
  • Python進(jìn)階框架 希望大家喜歡,點(diǎn)贊哦首先感謝廖雪峰老師對(duì)于該課程的講解 一、函數(shù)式編程 1.1 函數(shù)式編程簡(jiǎn)...
    Gaolex閱讀 5,994評(píng)論 6 53
  • 看到網(wǎng)上的例子: 結(jié)果: 也就是說(shuō),args接收的數(shù)據(jù)類型是單個(gè)的字符,*kwargs接收的數(shù)據(jù)類型是有名字有特指...
    阿莫米德閱讀 396評(píng)論 0 1

友情鏈接更多精彩內(nèi)容