python-裝飾器

什么是裝飾器?

? ? ? ?我們先了解一下基本概念:它的本質(zhì)就是一個(gè)函數(shù),可以讓其他函數(shù)在不需要做任何代碼變動(dòng)的前提下增加額外的功能,它的返回值也是一個(gè)函數(shù)對(duì)象。

在接下來的過程中我們循序漸進(jìn)的來了解究竟裝飾器長什么樣子。

一切皆對(duì)象

在python中一切皆對(duì)象,函數(shù)也不例外。

我們理解下Python中的函數(shù):


函數(shù)中定義函數(shù)

? ? ? ?在前面說過,在python中一切皆對(duì)象,這樣就使得變量所擁有的屬性,函數(shù)也同樣擁有。這樣我們理解在函數(shù)內(nèi)創(chuàng)建一個(gè)函數(shù)時(shí)合法的。


從函數(shù)中返回函數(shù)

其實(shí)在一個(gè)函數(shù)中并不需要去執(zhí)行另一個(gè)函數(shù),我們可以將其作為輸出返回出來。

將函數(shù)作為參數(shù)傳給另一個(gè)函數(shù)


快要揭開裝飾器的真面目了

用@運(yùn)行之前的代碼

現(xiàn)在你對(duì)python裝飾器的工作原理是不是有個(gè)基本的認(rèn)識(shí)了?

@a_new_decorator

相當(dāng)于

a_function_requiring_decoration = a_new_decorator(a_function_requiring_decoration)

在網(wǎng)上找到的做了相關(guān)總結(jié)

?著作權(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),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

  • 部分細(xì)節(jié)自己改了點(diǎn),也加了點(diǎn)自己例子,基本上屬于轉(zhuǎn)載。轉(zhuǎn)載出處:https://my.oschina.net/le...
    洛克黃瓜閱讀 2,113評(píng)論 0 3
  • 一、裝飾器的基本使用 在不改變函數(shù)源代碼的前提下,給函數(shù)添加新的功能,這時(shí)就需要用到“裝飾器”。 0.開放封閉原則...
    NJingZYuan閱讀 620評(píng)論 0 0
  • 一、釋義 Python的裝飾器本質(zhì)上是一個(gè)函數(shù),它可以讓其他函數(shù)在不需要做任何代碼變動(dòng)的前提下增加額外功能,裝飾器...
    虐心筆記閱讀 2,812評(píng)論 0 4
  • 一、數(shù)據(jù)分析工作流程分析 1、數(shù)據(jù)分析的一般工作流程 明確目標(biāo)-規(guī)劃框架-數(shù)據(jù)獲取-數(shù)據(jù)分析-數(shù)據(jù)分析-總結(jié)評(píng)估 ...
    一枚產(chǎn)品閱讀 10,817評(píng)論 0 5
  • 臉皮厚,睜眼說瞎話,吹牛皮不打草稿。以上三點(diǎn)是面試必勝的三大秘訣。 大學(xué)至今,經(jīng)歷過大小面試無數(shù),...
    公子飛閱讀 159評(píng)論 0 0

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