欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python實(shí)現(xiàn)partial改變方法默認(rèn)參數(shù)

 更新時(shí)間:2014年08月18日 11:10:05   投稿:shichen2014  
這篇文章主要介紹了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)文章

  • 淺談pytorch 模型 .pt, .pth, .pkl的區(qū)別及模型保存方式

    淺談pytorch 模型 .pt, .pth, .pkl的區(qū)別及模型保存方式

    這篇文章主要介紹了淺談pytorch 模型 .pt, .pth, .pkl的區(qū)別及模型保存方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-05-05
  • Django 跨域請(qǐng)求處理的示例代碼

    Django 跨域請(qǐng)求處理的示例代碼

    本篇文章主要介紹了Django 跨域請(qǐng)求處理的示例代碼,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-05-05
  • python文件讀取read及readlines兩種方法使用詳解

    python文件讀取read及readlines兩種方法使用詳解

    這篇文章主要為大家介紹了python文件讀取read及readlines兩種方法的使用示例及區(qū)別詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-07-07
  • python pandas cumsum求累計(jì)次數(shù)的用法

    python pandas cumsum求累計(jì)次數(shù)的用法

    這篇文章主要介紹了python pandas cumsum求累計(jì)次數(shù)的用法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • Python可視化神器pyecharts繪制雷達(dá)圖

    Python可視化神器pyecharts繪制雷達(dá)圖

    這篇文章主要介紹了Python可視化神器pyecharts繪制雷達(dá)圖,雷達(dá)圖是以從同一點(diǎn)開始的軸上表示的三個(gè)或更多個(gè)定量變量的二維圖表的形式顯示多變量數(shù)據(jù)的圖形方法
    2022-07-07
  • 解決py2exe打包后,總是多顯示一個(gè)DOS黑色窗口的問題

    解決py2exe打包后,總是多顯示一個(gè)DOS黑色窗口的問題

    今天小編就為大家分享一篇解決py2exe打包后,總是多顯示一個(gè)DOS黑色窗口的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-06-06
  • Python基礎(chǔ)實(shí)戰(zhàn)總結(jié)

    Python基礎(chǔ)實(shí)戰(zhàn)總結(jié)

    今天要給大家介紹的是Python基礎(chǔ)實(shí)戰(zhàn),本文主要以舉例說明講解:?jiǎn)栴}的關(guān)鍵點(diǎn)就是在于構(gòu)造姓名,學(xué)號(hào)和成績(jī),之后以字典的形式進(jìn)行寫入文件。這里準(zhǔn)備兩個(gè)列表,一個(gè)姓,一個(gè)名,之后使用random庫(kù)進(jìn)行隨機(jī)字符串拼接,得到姓名,需要的朋友可以參考一下
    2021-10-10
  • Python實(shí)現(xiàn)序列化及csv文件讀取

    Python實(shí)現(xiàn)序列化及csv文件讀取

    這篇文章主要介紹了Python實(shí)現(xiàn)序列化及csv文件讀取,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-01-01
  • python正則表達(dá)式re模塊詳細(xì)介紹

    python正則表達(dá)式re模塊詳細(xì)介紹

    這篇文章主要介紹了python正則表達(dá)式re模塊詳細(xì)介紹,本文翻譯自官方文檔,并加入了自己的理解,需要的朋友可以參考下
    2014-05-05
  • python爬蟲基礎(chǔ)教程:requests庫(kù)(二)代碼實(shí)例

    python爬蟲基礎(chǔ)教程:requests庫(kù)(二)代碼實(shí)例

    這篇文章主要介紹了python爬蟲基礎(chǔ)教程:requests庫(kù)(二),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04

最新評(píng)論