国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

香港云服务器
服務器之家 - 腳本之家 - Python - python裝飾器decorator介紹

python裝飾器decorator介紹

2020-05-14 09:42腳本之家 Python

這篇文章主要介紹了python裝飾器decorator介紹,decorator設計模式允許動態地對現有的對象或函數包裝以至于修改現有的職責和行為,簡單地講用來動態地擴展現有的功能,需要的朋友可以參考下

一、裝飾器decorator

decorator設計模式允許動態地對現有的對象或函數包裝以至于修改現有的職責和行為,簡單地講用來動態地擴展現有的功能。其實也就是其他語言中的AOP的概念,將對象或函數的真正功能也其他輔助的功能的分離。

二、Python中的decorator

python中的decorator通常為輸入一個函數,經過裝飾后返回另一個函數。  比較常用的功能一般使用decorator來實現,例如python自帶的staticmethod和classmethod。

裝飾器有兩種形式:

復制代碼 代碼如下:

@A
def foo():
    pass

 

相當于:

復制代碼 代碼如下:

def foo():
    pass
foo = A(foo)

 

第二種為帶參數的:

復制代碼 代碼如下:

@A(arg)
def foo():
    pass

 

則相當于:

復制代碼 代碼如下:

def foo():
    pass
foo = A(arg)(foo)

 

可以看出第一種的裝飾器是個返回函數的函數,第二種的裝飾器是個返回函數的函數的函數。

python中的decorator可以多個同時使用,如下:

 

復制代碼 代碼如下:

@A
@B
@C
def f (): pass
   
# it is same as below
def f(): pass
f = A(B(C(f)))

 

三、Python中常用的decorator實例

decorator通常用來在執行前進行權限認證,日志記錄,甚至修改傳入參數,或者在執行后對返回結果進行預處理,甚至可以截斷函數的執行等等。

實例1:

 

復制代碼 代碼如下:


from functools import wraps
def logged(func):
    @wraps(func)
    def with_logging(*args, **kwargs):
        print (func.__name__() + " was called")
        return func(*args, **kwargs)
    return with_logging

 

@logged
def f(x):
   """does some math"""
   return x + x * x

print (f.__name__)  # prints 'f'
print (f.__doc__)   # prints 'does some math'

 

注意functools.wraps()函數的作用:調用經過裝飾的函數,相當于調用一個新函數,那查看函數參數,注釋,甚至函數名的時候,就只能看到裝飾器的相關信息,被包裝函數的信息被丟掉了。而wraps則可以幫你轉移這些信息,參見http://stackoverflow.com/questions/308999/what-does-functools-wraps-do

延伸 · 閱讀

精彩推薦
301
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 国产精品国产三级国产aⅴ原创 | 99免费观看 | 黄色二区| 欧美日韩精品一区二区三区蜜桃 | 国产精品国产三级国产aⅴ9色 | 日日久| 亚洲国产一区二区在线观看 | 求av网址 | 欧洲一区二区在线观看 | 国产精品久久久久久吹潮 | 久久久婷婷| 天堂资源在线 | 日韩欧美一区二区在线观看 | 国产成人自拍视频在线 | 日韩欧美在线一区 | 伊人电影综合网 | 精品一区二区三区免费 | 秋霞成人| 日韩毛片免费看 | 亚洲国产高清高潮精品美女 | 日本特黄特色aaa大片免费 | 欧美性猛片aaaaaaa做受 | 在线精品一区 | 亚洲午夜精品 | 欧美午夜影院 | 免费一区在线观看 | 91久久久久久久久久久久久久久久 | 中文字幕精品一区二区三区精品 | 成人看片在线 | 精品国产一区二区三区免费 | 日本黄色大片免费 | 久草免费在线视频 | 高清三区 | 欧美一区免费 | 精品人成 | 日本三级中文在线电影 | 色就是色网站 | 精品国产乱码一区二区三区四区 | 国产日韩精品久久 | 精品美女一区 | 免费激情|