此篇文章主要是詳細(xì)介紹了python3常用3種裝飾器語法總結(jié),文中根據(jù)實(shí)例編碼為大家介紹得非常詳盡,對大家學(xué)習(xí)培訓(xùn)和工作具有很強(qiáng)的參照參考意義,需用的小伙伴可以借鑒一下
python3常用3種裝飾器語法總結(jié)
1.概述詞法
裝飾器又稱函數(shù)公式裝飾器,主要是的作用是在沒有改動(dòng)原先函數(shù)的編碼前提下(函數(shù)公式自身不被改動(dòng),實(shí)現(xiàn)方式都不轉(zhuǎn)變),提升的另一個(gè)"裝飾設(shè)計(jì)"函數(shù)公式,把原先的函數(shù)公式當(dāng)作一個(gè)總體,像傳參相同給函數(shù)公式應(yīng)用,并回到這一"函數(shù)公式"。在這個(gè)過程中大家添加一些函數(shù)公式有關(guān)的編碼,當(dāng)函數(shù)公式強(qiáng)制執(zhí)行時(shí),便會(huì)一塊兒實(shí)行,等同于讓函數(shù)公式增強(qiáng)了更多作用。
常見的層面:
1.1為函數(shù)公式提升日志作用:大批量函數(shù)公式做題的時(shí)候,并沒寫日志作用,根據(jù)一致再加上日志的裝飾器,就不需要變更編碼,以此來實(shí)現(xiàn)記載的作用。
1.2為函數(shù)公式完成認(rèn)證作用:函數(shù)公式實(shí)行時(shí),提升認(rèn)證是不是合理合法的裝飾器,它是某些安全對策,有時(shí)十分必需。
1.3挽救函數(shù)公式作用:項(xiàng)目完工后,發(fā)覺重要BUG,能通過過提升裝飾器的形式修補(bǔ),大批量減少任務(wù)量。
2.并沒有主要參數(shù)函數(shù)的裝飾器
了解:標(biāo)記便是寫一段裝飾器,最基本裝飾器,便是寫一個(gè)函數(shù),并回到1個(gè)傳到的主要參數(shù)。實(shí)質(zhì)就是將整個(gè)函數(shù)公式當(dāng)做了主要參數(shù),并回到,這一過程并沒有執(zhí)行函數(shù),只增強(qiáng)了1個(gè)敘述信息內(nèi)容,如:我國。
defmycountry(m): country="china" print(country) returnm mycountry defmyname(): name="chengruofei" print(name) returnname myname() 執(zhí)行結(jié)果: pythonmyname.py china chengruofei
備注名稱:
把標(biāo)記理解為省去了首先的取值,是否會(huì)恍然大悟:
myname=mycountry(myname)
myname()
3.帶主要參數(shù)函數(shù)的裝飾器
**了解:**只需在裝飾器函數(shù)中,提升一個(gè)函數(shù),而且里邊必須要組成傳到的“2個(gè)主要參數(shù)”給新的函數(shù)公式,這時(shí)傳參就會(huì)變成結(jié)構(gòu)的函數(shù)公式。
defmycountry(m): country="china" print(country) defmyb(bb): m(bb) print("TESTboy") returnmyb mycountry defmyname(b): name="chengruofei" print(name) print("Iama:",b) returnname myname("boy") 執(zhí)行結(jié)果: china chengruofei ('Iama:','boy') TESTboy
備注名稱:
根據(jù)裝飾器的函數(shù)返回值,就丟了。
4.帶主要參數(shù)裝飾器
**了解:**原本裝飾器都是沒有主要參數(shù),主要參數(shù)是依據(jù)函數(shù)的概念是否去設(shè)置的。但是有的時(shí)候裝飾器是一個(gè)繁雜的函數(shù)公式,結(jié)合了很多的作用,那就需要帶到主要參數(shù)去行動(dòng)適宜的裝飾器函數(shù)公式。只需在原先的編譯器表層再加上一層層函數(shù)公式,并把內(nèi)層函數(shù)公式做為總體回到。
defmyID(i): ifi=='mycountry': defmycountry(m): country="china" print(country) defmyb(bb): m(bb) print("TESTboy") returnmyb returnmycountry else: defmyschool(m): school="shijiazhuangjisuanjizhiyejishuxueyuan" print("Igraduatedfrom",school) defmyb(bb): m(bb) print("TESTboy") returnmyb returnmyschool myID('myschool') defmyname(b): name="chengruofei" print(name) print("Iama:",b) returnname myname("boy")
執(zhí)行結(jié)果:
('Iama:','boy') TESTboy
綜上所述,這篇文章就給大家介紹到這里了,希望可以給大家?guī)韼椭?/p>
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/129028.html
摘要:在計(jì)算機(jī)科學(xué)中,閉包又稱詞法閉包或函數(shù)閉包,是引用了自由變量的函數(shù)。閉包被廣泛應(yīng)用于函數(shù)式語言中。運(yùn)用閉包可以避免對全局變量的使用。將棧頂?shù)脑厝〕觯瑒?chuàng)建元組,并將該元組進(jìn)棧。 在計(jì)算機(jī)科學(xué)中,閉包 又稱 詞法閉包 或 函數(shù)閉包,是引用了自由變量的函數(shù)。這個(gè)被引用的自由變量將和這個(gè)函數(shù)一同存在,即使已經(jīng)離開了創(chuàng)造它的環(huán)境也不例外。閉包被廣泛應(yīng)用于函數(shù)式語言中。 從上面這段話中可以看出閉...
摘要:常規(guī)的使用來統(tǒng)計(jì)一段代碼運(yùn)行時(shí)間的例子輸出結(jié)果總結(jié)其實(shí)是一門特別人性化的語言,但凡在工程中經(jīng)常遇到的問題,處理起來比較棘手的模式基本都有對應(yīng)的比較優(yōu)雅的解決方案。 python的高級(jí)特性 名詞與翻譯對照表 generator 生成器 iterator 迭代器 collection 集合 pack/unpack 打包/解包 decorator 裝飾器 context manager ...
Python裝飾器為什么難理解? 無論項(xiàng)目中還是面試都離不開裝飾器話題,裝飾器的強(qiáng)大在于它能夠在不修改原有業(yè)務(wù)邏輯的情況下對代碼進(jìn)行擴(kuò)展,權(quán)限校驗(yàn)、用戶認(rèn)證、日志記錄、性能測試、事務(wù)處理、緩存等都是裝飾器的絕佳應(yīng)用場景,它能夠最大程度地對代碼進(jìn)行復(fù)用。 但為什么初學(xué)者對裝飾器的理解如此困難,我認(rèn)為本質(zhì)上是對Py… Python 實(shí)現(xiàn)車牌定位及分割 作者用 Python 實(shí)現(xiàn)車牌定位及分割的實(shí)踐。 ...
摘要:詞法分析對構(gòu)成源程序的字符流進(jìn)行掃描然后根據(jù)構(gòu)詞規(guī)則識(shí)別單詞也稱單詞符號(hào)或符號(hào)。語義分析是編譯過程的一個(gè)邏輯階段語義分析的任務(wù)是對結(jié)構(gòu)上正確的源程序進(jìn)行上下文有關(guān)性質(zhì)的審查進(jìn)行類型審查,審查抽象語法樹是否符合該編程語言的規(guī)則。 1. 文章的內(nèi)容和主題 我對編譯器的深入了解起源于一條推特中的問題:Angular是如何用Angular預(yù)先編譯器(AOT)對靜態(tài)代碼進(jìn)行解析工作的。在進(jìn)行一些...
摘要:中的類都是單例模式一天,一同事問我這樣一個(gè)問題。與方法屬于新式類,即屬于類。方法在實(shí)例被創(chuàng)建之后被調(diào)用,該方法僅僅是對方法創(chuàng)建的實(shí)例進(jìn)行一些初始化操作。需要注意的是,在重寫方法與方法的參數(shù)應(yīng)該保持一致,否則會(huì)有發(fā)生。 Python 中的類都是單例模式? 一天,一同事問我這樣一個(gè)問題。這是一個(gè)奇怪的問題,可能你也這么認(rèn)為。這里先不做解釋,我們先來看看 __new__ 和 __init__...
閱讀 928·2023-01-14 11:38
閱讀 902·2023-01-14 11:04
閱讀 759·2023-01-14 10:48
閱讀 2065·2023-01-14 10:34
閱讀 968·2023-01-14 10:24
閱讀 844·2023-01-14 10:18
閱讀 512·2023-01-14 10:09
閱讀 591·2023-01-14 10:02