最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python裝飾器的特性原理詳解

 更新時(shí)間:2019年12月25日 09:24:02   作者:公眾號(hào)python學(xué)習(xí)開發(fā)  
這篇文章主要介紹了python裝飾器的特性原理詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

這篇文章主要介紹了python裝飾器的特性原理詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

今天發(fā)現(xiàn)了裝飾器的另一種用法,下面就先上代碼:

data_list = []
def data_item(func):
  data_list.append(func)
  return func
@data_item
def foo():
  return 1
@data_item
def foo1():
  return 2
@data_item
def foo3():
  return 3
def max_item():
  result = max(i() for i in data_list)
  return result
if __name__ == '__main__':
  item = max_item()
  print(item)

代碼很簡(jiǎn)單就是,定義三個(gè)foo開頭的函數(shù),每個(gè)foo函數(shù)輸出不一樣的數(shù)字,都通過裝飾器data_item進(jìn)行修飾,最后通過max_item函數(shù),執(zhí)行一系列邏輯獲取結(jié)果。

這里有個(gè)容易被忽略的點(diǎn),那就是裝飾器實(shí)際是在執(zhí)行 max_item()之前就執(zhí)行了。
所以,如果你打印下data_list你會(huì)發(fā)現(xiàn)它是有值的。

[<function foo at 0x10bb05ea0>, <function foo1 at 0x10bb05d90>, <function foo3 at 0x10bb05f28>]

即列表里面已經(jīng)有三個(gè)被裝飾器修飾的函數(shù)了,然后在

max(i() for i in data_list)

的i()階段這三個(gè)函數(shù)執(zhí)行了,得到了結(jié)果(1,2,3),然后最后取它們的max值即3。

什么場(chǎng)景會(huì)用到呢,一般對(duì)于傳入一個(gè)值然后多種處理方案,選擇其中最佳方案的時(shí)候可以考慮使用這種方法。
emmm,裝飾器還是挺有意思的。

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

相關(guān)文章

  • Python全棧之基本數(shù)據(jù)類型

    Python全棧之基本數(shù)據(jù)類型

    這篇文章主要為大家介紹了Python基本數(shù)據(jù)類型,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2021-12-12
  • 教你用Python實(shí)現(xiàn)簡(jiǎn)易版學(xué)生信息管理系統(tǒng)(含源碼)

    教你用Python實(shí)現(xiàn)簡(jiǎn)易版學(xué)生信息管理系統(tǒng)(含源碼)

    學(xué)生管理信息系統(tǒng)主要用來日常查詢學(xué)生信息,以及及時(shí)更新數(shù)據(jù)和修改數(shù)據(jù).用python實(shí)現(xiàn)簡(jiǎn)單學(xué)生管理信息系統(tǒng)不僅可以滿足以上要求,也可以鞏固之前學(xué)習(xí)的基礎(chǔ),需要的朋友可以參考下
    2021-06-06
  • 在pycharm中輸入import torch報(bào)錯(cuò)如何解決

    在pycharm中輸入import torch報(bào)錯(cuò)如何解決

    這篇文章主要介紹了在pycharm中輸入import torch報(bào)錯(cuò)如何解決問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • 在pycharm中顯示python畫的圖方法

    在pycharm中顯示python畫的圖方法

    今天小編就為大家分享一篇在pycharm中顯示python畫的圖方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-08-08
  • 簡(jiǎn)單了解python中的f.b.u.r函數(shù)

    簡(jiǎn)單了解python中的f.b.u.r函數(shù)

    這篇文章主要介紹了簡(jiǎn)單了解python中的f.b.u.r函數(shù),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-11-11
  • Python使用scipy保存圖片的一些注意點(diǎn)

    Python使用scipy保存圖片的一些注意點(diǎn)

    這篇文章主要介紹了Python使用scipy保存圖片的一些注意點(diǎn),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-05-05
  • python實(shí)現(xiàn)QQ批量登錄功能

    python實(shí)現(xiàn)QQ批量登錄功能

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)QQ批量登錄功能,以及python3.6批量登陸QQ,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-06-06
  • Python?matplotlib實(shí)現(xiàn)多子圖布局

    Python?matplotlib實(shí)現(xiàn)多子圖布局

    多子圖布局是指在一個(gè)圖像中同時(shí)顯示多個(gè)子圖,每個(gè)子圖可以是獨(dú)立的圖形或者是相互關(guān)聯(lián)的圖形,下面我們就來了解下matplotlib是如何實(shí)現(xiàn)多子圖布局的吧
    2023-12-12
  • Tensorflow tf.tile()的用法實(shí)例分析

    Tensorflow tf.tile()的用法實(shí)例分析

    這篇文章主要介紹了Tensorflow tf.tile()的用法實(shí)例分析,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-05-05
  • Python使用Scapy實(shí)現(xiàn)構(gòu)造特殊數(shù)據(jù)包

    Python使用Scapy實(shí)現(xiàn)構(gòu)造特殊數(shù)據(jù)包

    Scapy是一款Python庫,可用于構(gòu)建、發(fā)送、接收和解析網(wǎng)絡(luò)數(shù)據(jù)包,這篇文章主要為大家詳細(xì)介紹了python如何使用Scapy構(gòu)造特殊數(shù)據(jù)包,有需要的可以參考下
    2023-11-11

最新評(píng)論

乌拉特后旗| 兴海县| 西林县| 玉田县| 西乌珠穆沁旗| 呈贡县| 和顺县| 马尔康县| 腾冲县| 芷江| 涿鹿县| 华容县| 阿拉善右旗| 荆州市| 花垣县| 界首市| 辽宁省| 耒阳市| 永城市| 浪卡子县| 麻栗坡县| 宿州市| 海口市| 库伦旗| 南昌市| 许昌市| 长葛市| 西峡县| 台北县| 安化县| 敦化市| 视频| 遂溪县| 定远县| 达孜县| 大厂| 南丹县| 兰西县| 高碑店市| 万全县| 蓬溪县|