欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

1、說明

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

2、應用場景

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

3、實例

# 裝飾器
# func指函數
def decorator(func):
    def wrapper(*args, **kwargs):
        # 執(zhí)行函數內部邏輯 打印時間
        print(time.time(), args, kwargs)
        # 執(zhí)行調用函數中邏輯 打印不同參數
        func(*args, **kwargs)
    return wrapper
# 一個參數
@decorator
def function(param):
    print('function : this is decorator ' + param)
# 兩個參數
@decorator
def function1(param1, param2):
    print('function1 : this is decorator ' + param1)
    print('function1 : this is decorator ' + param2)
# 三個參數(可變參數)
@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)

內容擴展:

函數注冊表

簡單注冊表

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裝飾器的應用場景內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Django之無名分組和有名分組的實現

    Django之無名分組和有名分組的實現

    這篇文章主要介紹了Django之無名分組和有名分組,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-04-04
  • pytorch 準備、訓練和測試自己的圖片數據的方法

    pytorch 準備、訓練和測試自己的圖片數據的方法

    這篇文章主要介紹了pytorch 準備、訓練和測試自己的圖片數據的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-01-01
  • Python中 Global和Nonlocal的用法詳解

    Python中 Global和Nonlocal的用法詳解

    global關鍵字用來在函數或其他局部作用域中使用全局變量, nonlocal聲明的變量不是局部變量,也不是全局變量,而是外部嵌套函數內的變量。這篇文章主要介紹了Python中 Global和Nonlocal的用法,需要的朋友可以參考下
    2020-01-01
  • Python爬蟲使用實例wallpaper問題記錄

    Python爬蟲使用實例wallpaper問題記錄

    本文介紹解決中文亂碼的方法,以及Python爬蟲處理數據、圖片URL的技巧,包括使用正則表達式處理字符串、URL替換等,還涉及單線程與多線程的應用場景,如電腦壁紙和手機壁紙爬取,適合進行Web數據抓取和處理的開發(fā)者參考
    2024-09-09
  • Python實現多項式擬合正弦函數詳情

    Python實現多項式擬合正弦函數詳情

    這篇文章主要介紹了Python實現多項式擬合正弦函數詳情,文章圍繞主題展開詳細的內容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-08-08
  • python主線程捕獲子線程的方法

    python主線程捕獲子線程的方法

    這篇文章主要為大家詳細介紹了python主線程捕獲子線程的方法,具有一定的參考價值,感興趣的朋友可以參考一下
    2018-06-06
  • Python腳本實現隨機數據生成自由詳解

    Python腳本實現隨機數據生成自由詳解

    這篇文章主要為大家詳細介紹了Python如何通過腳本實現隨機數據生成自由,文中的示例代碼講解詳細,感興趣的小伙伴快跟隨小編一起學習一下吧
    2023-12-12
  • 用Python給文本創(chuàng)立向量空間模型的教程

    用Python給文本創(chuàng)立向量空間模型的教程

    這篇文章主要介紹了用Python給文本創(chuàng)立向量空間模型的教程,比如文中舉例將文本中的詞頻轉為量化的矩陣,需要的朋友可以參考下
    2015-04-04
  • Django JSonResponse對象的實現

    Django JSonResponse對象的實現

    本文主要介紹了Django JSonResponse對象的實現,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-03-03
  • Python類的繼承super相關原理解析

    Python類的繼承super相關原理解析

    這篇文章主要介紹了Python類的繼承super相關原理解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-10-10

最新評論