Python實(shí)現(xiàn)partial改變方法默認(rèn)參數(shù)
在Python的標(biāo)準(zhǔn)庫(kù)中,functools庫(kù)中有很多對(duì)方法有操作的封裝功能,partial Objects就是其中之一,他可以實(shí)現(xiàn)對(duì)方法參數(shù)默認(rèn)值的修改。本文就以實(shí)例代碼說明這一功能。
下面就看下簡(jiǎn)單的應(yīng)用測(cè)試實(shí)例。具體代碼如下:
#!/usr/bin/env python # -*- coding: utf-8 -*- #python2.7x #partial.py #authror: orangleliu ''' functools 中Partial可以用來改變一個(gè)方法默認(rèn)參數(shù) 1 改變?cè)心J(rèn)值參數(shù)的默認(rèn)值 2 給原來沒有默認(rèn)值的參數(shù)增加默認(rèn)值 ''' def foo(a,b=0) : ''' int add' ''' print a + b #user default argument foo(1) #change default argument once foo(1,1) #change function's default argument, and you can use the function with new argument import functools foo1 = functools.partial(foo, b=5) #change "b" default argument foo1(1) foo2 = functools.partial(foo, a=10) #give "a" default argument foo2() ''' foo2 is a partial object,it only has three read-only attributes i will list them ''' print foo2.func print foo2.args print foo2.keywords print dir(foo2) ##默認(rèn)情況下partial對(duì)象是沒有 __name__ __doc__ 屬性,使用update_wrapper 從原始方法中添加屬性到partial 對(duì)象中 print foo2.__doc__ ''' 執(zhí)行結(jié)果: partial(func, *args, **keywords) - new function with partial application of the given arguments and keywords. ''' functools.update_wrapper(foo2, foo) print foo2.__doc__ ''' 修改為foo的文檔信息了 '''
這樣如果我們使用一個(gè)方法總是需要默認(rèn)幾個(gè)參數(shù)的話就可以,先做一個(gè)封裝然后不用每次都設(shè)置相同的參數(shù)了。
希望本文所述方法對(duì)大家的Python程序設(shè)計(jì)有一定的借鑒與幫助價(jià)值。
相關(guān)文章
requests在python中發(fā)送請(qǐng)求的實(shí)例講解
在本篇文章里小編給大家整理的是一篇關(guān)于requests在python中發(fā)送請(qǐng)求的實(shí)例講解內(nèi)容,有興趣的朋友們可以測(cè)試學(xué)習(xí)下。2021-02-02
詳解Python進(jìn)行數(shù)據(jù)相關(guān)性分析的三種方式
相關(guān)系數(shù)量化數(shù)據(jù)集的變量或特征之間的關(guān)聯(lián)。這些統(tǒng)計(jì)數(shù)據(jù)對(duì)科學(xué)和技術(shù)非常重要,Python?有很好的工具可以用來計(jì)算它們。SciPy、NumPy?和Pandas相關(guān)方法以及數(shù)據(jù)可視化功能,感興趣的可以了解一下2022-04-04
python操作excel的方法(xlsxwriter包的使用)
這篇文章主要為大家詳細(xì)介紹了python操作excel的方法,xlsxwriter包的使用方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-06-06
Django User 模塊之 AbstractUser 擴(kuò)展詳解
這篇文章主要介紹了Django User 模塊之 AbstractUser 擴(kuò)展詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-03-03
python機(jī)器學(xué)習(xí)理論與實(shí)戰(zhàn)(六)支持向量機(jī)
這篇文章主要介紹了python機(jī)器學(xué)習(xí)理論與實(shí)戰(zhàn)第六篇,支持向量機(jī)的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-01-01
基于python實(shí)現(xiàn)簡(jiǎn)單網(wǎng)頁(yè)服務(wù)器代碼實(shí)例
這篇文章主要介紹了基于python實(shí)現(xiàn)簡(jiǎn)單網(wǎng)頁(yè)服務(wù)器代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-09-09
Python+Selenium定位不到元素常見原因及解決辦法(報(bào):NoSuchElementException)
這篇文章主要介紹了Python+Selenium定位不到元素常見原因及解決辦法(報(bào):NoSuchElementException),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03
詳解pycharm2020.1.1專業(yè)版安裝指南(推薦)
這篇文章主要介紹了pycharm2020.1.1專業(yè)版安裝指南,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-08-08

