此篇文章主要是詳細介紹了python3常用3種裝飾器語法總結,文中根據實例編碼為大家介紹得非常詳盡,對大家學習培訓和工作具有很強的參照參考意義,需用的小伙伴可以借鑒一下
python3常用3種裝飾器語法總結
1.概述詞法
裝飾器又稱函數公式裝飾器,主要是的作用是在沒有改動原先函數的編碼前提下(函數公式自身不被改動,實現方式都不轉變),提升的另一個"裝飾設計"函數公式,把原先的函數公式當作一個總體,像傳參相同給函數公式應用,并回到這一"函數公式"。在這個過程中大家添加一些函數公式有關的編碼,當函數公式強制執行時,便會一塊兒實行,等同于讓函數公式增強了更多作用。
常見的層面:
1.1為函數公式提升日志作用:大批量函數公式做題的時候,并沒寫日志作用,根據一致再加上日志的裝飾器,就不需要變更編碼,以此來實現記載的作用。
1.2為函數公式完成認證作用:函數公式實行時,提升認證是不是合理合法的裝飾器,它是某些安全對策,有時十分必需。
1.3挽救函數公式作用:項目完工后,發覺重要BUG,能通過過提升裝飾器的形式修補,大批量減少任務量。
2.并沒有主要參數函數的裝飾器
了解:標記便是寫一段裝飾器,最基本裝飾器,便是寫一個函數,并回到1個傳到的主要參數。實質就是將整個函數公式當做了主要參數,并回到,這一過程并沒有執行函數,只增強了1個敘述信息內容,如:我國。
defmycountry(m): country="china" print(country) returnm mycountry defmyname(): name="chengruofei" print(name) returnname myname() 執行結果: pythonmyname.py china chengruofei
備注名稱:
把標記理解為省去了首先的取值,是否會恍然大悟:
myname=mycountry(myname)
myname()
3.帶主要參數函數的裝飾器
**了解:**只需在裝飾器函數中,提升一個函數,而且里邊必須要組成傳到的“2個主要參數”給新的函數公式,這時傳參就會變成結構的函數公式。
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") 執行結果: china chengruofei ('Iama:','boy') TESTboy
備注名稱:
根據裝飾器的函數返回值,就丟了。
4.帶主要參數裝飾器
**了解:**原本裝飾器都是沒有主要參數,主要參數是依據函數的概念是否去設置的。但是有的時候裝飾器是一個繁雜的函數公式,結合了很多的作用,那就需要帶到主要參數去行動適宜的裝飾器函數公式。只需在原先的編譯器表層再加上一層層函數公式,并把內層函數公式做為總體回到。
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")
執行結果:
('Iama:','boy') TESTboy
綜上所述,這篇文章就給大家介紹到這里了,希望可以給大家帶來幫助。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/129028.html
摘要:在計算機科學中,閉包又稱詞法閉包或函數閉包,是引用了自由變量的函數。閉包被廣泛應用于函數式語言中。運用閉包可以避免對全局變量的使用。將棧頂的元素取出,創建元組,并將該元組進棧。 在計算機科學中,閉包 又稱 詞法閉包 或 函數閉包,是引用了自由變量的函數。這個被引用的自由變量將和這個函數一同存在,即使已經離開了創造它的環境也不例外。閉包被廣泛應用于函數式語言中。 從上面這段話中可以看出閉...
摘要:常規的使用來統計一段代碼運行時間的例子輸出結果總結其實是一門特別人性化的語言,但凡在工程中經常遇到的問題,處理起來比較棘手的模式基本都有對應的比較優雅的解決方案。 python的高級特性 名詞與翻譯對照表 generator 生成器 iterator 迭代器 collection 集合 pack/unpack 打包/解包 decorator 裝飾器 context manager ...
摘要:詞法分析對構成源程序的字符流進行掃描然后根據構詞規則識別單詞也稱單詞符號或符號。語義分析是編譯過程的一個邏輯階段語義分析的任務是對結構上正確的源程序進行上下文有關性質的審查進行類型審查,審查抽象語法樹是否符合該編程語言的規則。 1. 文章的內容和主題 我對編譯器的深入了解起源于一條推特中的問題:Angular是如何用Angular預先編譯器(AOT)對靜態代碼進行解析工作的。在進行一些...
摘要:中的類都是單例模式一天,一同事問我這樣一個問題。與方法屬于新式類,即屬于類。方法在實例被創建之后被調用,該方法僅僅是對方法創建的實例進行一些初始化操作。需要注意的是,在重寫方法與方法的參數應該保持一致,否則會有發生。 Python 中的類都是單例模式? 一天,一同事問我這樣一個問題。這是一個奇怪的問題,可能你也這么認為。這里先不做解釋,我們先來看看 __new__ 和 __init__...
閱讀 919·2023-01-14 11:38
閱讀 891·2023-01-14 11:04
閱讀 750·2023-01-14 10:48
閱讀 2039·2023-01-14 10:34
閱讀 956·2023-01-14 10:24
閱讀 833·2023-01-14 10:18
閱讀 506·2023-01-14 10:09
閱讀 583·2023-01-14 10:02