python 裝飾器例項,以及解釋版本

2021-08-21 10:04:29 字數 801 閱讀 5993

__author__ = 'guode'

'''裝飾器:

不修不修改源**

不修改原函式的

裝飾器本事就是個函式

'''import time

def zhuangshiqi(func):

def decoc():

start_time=time.time()

func()

end_time=time.time()

print(end_time-start_time )

return decoc

@zhuangshiqi

def show():

print("nihao")

show()

'''以上**的解釋說明:

1 zhuangshiqi(show)

2 show=deco

3 show() 相當於呼叫deco

以上程式的改寫成正常執行的程式順序如下

import time

def show():

print("nihao")

def zhuangshiqi(func):

def decoc():

start_time=time.time()

func()

end_time=time.time()

print(end_time-start_time )

return decoc

show=zhuangshiqi(show)

show()

'''

Python 裝飾器例項

偶然看到一篇文章,想到了前幾天的乙個需求,git pull效能不穩,需要加入重試機制,正好這個裝飾器的例項符合這樣的場景。coding utf 8 import time import logging import socket from functools import wraps logging...

python裝飾器以及裝飾器的深入

1.通 裝飾器回顧 通過裝飾器的模板格式 def fn def inner args,kwargs 增加的內容 ret fn args,kwargs 增加的內容 return ret return inner2.函式的有 資訊 1 獲取函式的注釋資訊,示例 def fun a,b,c 函式的功能 p...

Python裝飾器(例項演練)

原理 裝飾器說到底就是閉包的多層運用,內部呼叫外層函式的區域性變數返回給外部函式再在全域性呼叫結果。原則 1.封閉開放原則。2.把寫的基礎函式 別人或者各個模組呼叫 封閉起來不做更改。3.需要增加功能時,可以拓展。語法 加上 符 系統會自動把下面的函式當成引數傳到裝飾器中,從下到上。功能舉例 假如我...