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

Python裝飾器的應用場景及實例用法

 更新時間:2021年04月20日 08:41:39   作者:小妮淺淺  
在本篇內(nèi)容里小編給大家整理了一篇關于Python裝飾器的應用場景及實例用法,有興趣的朋友們可以學習下。

1、說明

裝飾本質上是一個Python函數(shù),它能使其他函數(shù)在沒有任何代碼變化的情況下增加額外的功能。有了裝飾,我們可以抽出大量與函數(shù)功能無關的相同代碼,繼續(xù)重用。

2、應用場景

包括插入日志、性能測試、事務處理、緩存和權限驗證。

3、實例

# 裝飾器
# func指函數(shù)
def decorator(func):
    def wrapper(*args, **kwargs):
        # 執(zhí)行函數(shù)內(nèi)部邏輯 打印時間
        print(time.time(), args, kwargs)
        # 執(zhí)行調用函數(shù)中邏輯 打印不同參數(shù)
        func(*args, **kwargs)
    return wrapper
# 一個參數(shù)
@decorator
def function(param):
    print('function : this is decorator ' + param)
# 兩個參數(shù)
@decorator
def function1(param1, param2):
    print('function1 : this is decorator ' + param1)
    print('function1 : this is decorator ' + param2)
# 三個參數(shù)(可變參數(shù))
@decorator
def function2(param1, param2, **kwargs):
    print('function2 : this is decorator ' + param1)
    print('function2 : this is decorator ' + param2)
    print(kwargs)
function('param')
function1('param1' , 'param2')
function2('param1' , 'param2', x=1,y=2,z=3)

內(nèi)容擴展:

函數(shù)注冊表

簡單注冊表

funcs = []
def register(func):
  funcs.append(func)
  return func    
@register
def a():
  return 3
  
@register
def b():
  return 5  
# 訪問結果
result = [func() for func in funcs]

注冊表隔離(使用類的不同實例)

class Registry(object):
  def __init__(self):
    self._funcs = []
  
  def register(self, func):
    self._funcs.append(func)
    
  def run_all(self):
    return [func() for func in self._funcs] 
r1 = Registry()
r2 = Registry()

@r1.register
def a():
  return 3
  
@r2.register
def b():
  return 5
  
@r1.register
@r2.register

到此這篇關于Python裝飾器的應用場景及實例用法的文章就介紹到這了,更多相關Python裝飾器的應用場景內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Flask之請求鉤子的實現(xiàn)

    Flask之請求鉤子的實現(xiàn)

    這篇文章主要介紹了Flask之請求鉤子的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2018-12-12
  • 科學計算與數(shù)據(jù)分析利器Python數(shù)據(jù)分析庫Scipy使用詳解

    科學計算與數(shù)據(jù)分析利器Python數(shù)據(jù)分析庫Scipy使用詳解

    Scipy在現(xiàn)代科學研究和數(shù)據(jù)分析中是一個不可或缺的庫,它建立在NumPy的基礎上,提供了更多的高級科學計算功能,包括優(yōu)化、信號處理、統(tǒng)計分析、插值、線性代數(shù)等,本文將會學習Scipy庫的各種功能和用法,包括數(shù)學優(yōu)化、統(tǒng)計分析、信號處理和插值等方面
    2023-11-11
  • Python中的logging模塊實現(xiàn)日志打印

    Python中的logging模塊實現(xiàn)日志打印

    這篇文章主要介紹了Python中的logging模塊實現(xiàn)日志打印,其實不止print打印日志方便排查問題,Python自帶的logging模塊,也可以很簡單就能實現(xiàn)日志的配置和打印,下面來看看具體的實現(xiàn)過程吧,需要的朋友可以參考一下
    2022-03-03
  • Python3內(nèi)置函數(shù)chr和ord實現(xiàn)進制轉換

    Python3內(nèi)置函數(shù)chr和ord實現(xiàn)進制轉換

    這篇文章主要介紹了Python3內(nèi)置函數(shù)chr和ord實現(xiàn)進制轉換,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-06-06
  • python算法學習之桶排序算法實例(分塊排序)

    python算法學習之桶排序算法實例(分塊排序)

    本代碼介紹了python算法學習中的桶排序算法實例,大家參考使用吧
    2013-12-12
  • Python正則表達式實現(xiàn)簡易計算器功能示例

    Python正則表達式實現(xiàn)簡易計算器功能示例

    這篇文章主要介紹了Python正則表達式實現(xiàn)簡易計算器功能,涉及Python正則判定及數(shù)值計算相關操作技巧,需要的朋友可以參考下
    2019-05-05
  • Gradio中button組件的基本使用方式

    Gradio中button組件的基本使用方式

    Gradio中的button組件用于實現(xiàn)點擊事件,通過click事件綁定函數(shù)來處理值的變化,點擊時,函數(shù)接收組件的值作為輸入,返回新的值或更新組件的屬性,示例代碼展示了如何在點擊按鈕時修改文本框的值并控制按鈕的可見性
    2024-11-11
  • 詳解利用裝飾器擴展Python計時器

    詳解利用裝飾器擴展Python計時器

    在本文中,云朵君將和大家一起了解裝飾器的工作原理,如何將我們之前定義的定時器類?Timer?擴展為裝飾器,以及如何簡化計時功能,感興趣的可以了解一下
    2022-06-06
  • python安裝完成后可以進行的后續(xù)步驟和注意事項小結

    python安裝完成后可以進行的后續(xù)步驟和注意事項小結

    本文詳細介紹了安裝Python3后的后續(xù)步驟,包括驗證安裝、配置環(huán)境、安裝包、創(chuàng)建和運行腳本,以及使用虛擬環(huán)境,還強調了注意事項,如系統(tǒng)更新、包管理與安全,感興趣的朋友一起看看吧
    2025-01-01
  • pytorch如何實現(xiàn)邏輯回歸

    pytorch如何實現(xiàn)邏輯回歸

    這篇文章主要介紹了pytorch如何實現(xiàn)邏輯回歸問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-02-02

最新評論

南丹县| 龙胜| 长宁区| 区。| 沅陵县| 永善县| 哈尔滨市| 当涂县| 孟津县| 弥勒县| 揭阳市| 米泉市| 高雄县| 涿鹿县| 富民县| 高尔夫| 浪卡子县| 宝坻区| 荥经县| 弋阳县| 焦作市| 梧州市| 资源县| 梨树县| 隆化县| 辰溪县| 固原市| 临泉县| 五寨县| 巴楚县| 静安区| 英德市| 阳东县| 环江| 义乌市| 额尔古纳市| 赞皇县| 冷水江市| 上思县| 渭南市| 巴里|