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

python被修飾的函數(shù)消失問(wèn)題解決(基于wraps函數(shù))

 更新時(shí)間:2019年11月04日 16:18:56   作者:梁十安  
這篇文章主要介紹了python被修飾的函數(shù)消失問(wèn)題解決(基于wraps函數(shù)),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

這篇文章主要介紹了python被修飾的函數(shù)消失問(wèn)題解決(基于wraps函數(shù)),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

當(dāng)使用@修飾符修飾函數(shù)時(shí),會(huì)存在這樣一個(gè)問(wèn)題:被修飾的函數(shù)會(huì)消失(這是因?yàn)樾揎椇瘮?shù)沒(méi)有設(shè)置返回值,如果設(shè)置了返回值,則就把返回值賦給被修飾函數(shù),比如,test1函數(shù)的返回值設(shè)置為 return 6, 那么就把6賦值給test2,test2就不再是一個(gè)函數(shù),而是一個(gè)int類型的變量,值就是6):

def test1(A):
  print("I am test1111111111")
@test1
def test2():
  print("I am test2222222222")
test2
print(type(test2))

輸出如下:

    I am test1111111111
    <class 'NoneType'>

Nonetype和空值是不一致的,可以理解為Nonetype為不存在這個(gè)參數(shù),空值表示參數(shù)存在,但是值為空

為了避免這個(gè)問(wèn)題,可以使用wraps函數(shù),它的作用是保證被修飾函數(shù)名不被改變

from functools import wraps

def test1(A):
  @wraps(A)
  def test3():
    print("I am test3333333")
  print("I am test1111111111")
  return test3


@test1
def test2():
  print("I am test2222222222")


test2
print(test2.__name__)
test2()

輸出如下:

I am test1111111111
test2
I am test3333333

可以看到,test2函數(shù)的函數(shù)名沒(méi)被改變,但函數(shù)功能卻改變了,18行運(yùn)行test2函數(shù)時(shí),輸出的是 I am test3333333

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • python使用pandas讀寫(xiě)excel文件的方法實(shí)例

    python使用pandas讀寫(xiě)excel文件的方法實(shí)例

    pandas是一個(gè)十分強(qiáng)大的數(shù)據(jù)處理工具,最近需要處理數(shù)據(jù)并輸入到excel,簡(jiǎn)單列舉它的用法,這篇文章主要給大家介紹了關(guān)于python使用pandas讀寫(xiě)excel文件的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-08-08
  • python3 拼接字符串的7種方法

    python3 拼接字符串的7種方法

    本文給大家羅列了python3拼接字符串的七種方法,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2018-09-09
  • Django 項(xiàng)目布局方法(值得推薦)

    Django 項(xiàng)目布局方法(值得推薦)

    這篇文章主要介紹了Django 項(xiàng)目布局方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-03-03
  • 深入了解Python 方法之類方法 & 靜態(tài)方法

    深入了解Python 方法之類方法 & 靜態(tài)方法

    這篇文章主要介紹了Python類方法 & 靜態(tài)方法的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)python,感興趣的朋友可以了解下
    2020-08-08
  • 詳解Python3操作Mongodb簡(jiǎn)明易懂教程

    詳解Python3操作Mongodb簡(jiǎn)明易懂教程

    本篇文章主要介紹了詳解Python3操作Mongodb簡(jiǎn)明易懂教程,詳細(xì)的介紹了如何連接數(shù)據(jù)庫(kù)和對(duì)數(shù)據(jù)庫(kù)的操作,有需要的可以了解一下。
    2017-05-05
  • Python多線程和隊(duì)列操作實(shí)例

    Python多線程和隊(duì)列操作實(shí)例

    這篇文章主要介紹了Python多線程和隊(duì)列操作實(shí)例,本文直接給給實(shí)例代碼,需要的朋友可以參考下
    2015-06-06
  • Python單體模式的幾種常見(jiàn)實(shí)現(xiàn)方法詳解

    Python單體模式的幾種常見(jiàn)實(shí)現(xiàn)方法詳解

    這篇文章主要介紹了Python單體模式的幾種常見(jiàn)實(shí)現(xiàn)方法,結(jié)合實(shí)例形式分析了Python單體模式的實(shí)現(xiàn)方法、原理與相關(guān)注意事項(xiàng),需要的朋友可以參考下
    2017-07-07
  • python 裝飾器的基本使用

    python 裝飾器的基本使用

    這篇文章主要介紹了python 裝飾器的基本使用,幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2021-01-01
  • Python PyQt5中彈出子窗口解決子窗口一閃而過(guò)的問(wèn)題

    Python PyQt5中彈出子窗口解決子窗口一閃而過(guò)的問(wèn)題

    這篇文章主要介紹了Python PyQt5中彈出子窗口解決子窗口一閃而過(guò)的問(wèn)題,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • linux下python中文亂碼解決方案詳解

    linux下python中文亂碼解決方案詳解

    這篇文章主要介紹了linux下python中文亂碼解決方案詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-08-08

最新評(píng)論