Python函式修飾器 面向切面程式設計

2021-09-22 05:46:18 字數 520 閱讀 3733

import time

#計算func函式的執行時間。

def cal(func):

def inner():

print("inner()函式開始...")

start = time.time()

func()

end = time.time()

print("函式執行耗時:"+str(end - start))

return inner

@cal

def foo():

print('foo 函式')

foo()

輸出:

inner()函式開始...

foo 函式

函式執行耗時:0.004984378814697266

python的函式修飾器很有用,比如現在有些需求要埋點統計某些函式的執行時間耗時,即面向切面程式設計,利用python函式的@修飾器,可以輕鬆的得到統計結果,比如本例的函式執行耗時統計。

Python基礎 函式修飾器 符號

def dec f n 3 return f args,kw n dec def foo n return n 2python解析器遇到 且後面跟著函式時,會把函式foo當做引數傳遞給dec函式並執行,即 dec foo n 本例中執行 dec n 2 預設引數一定要用不可變物件,如果是可變物件,執...

面向切面程式設計 AOP 和裝飾器??

主要功能 日誌記錄,效能統計,安全控制,事務處理,異常處理等等。主要意圖 將日誌記錄,效能統計,安全控制,事務處理,異常處理等 從業務邏輯 中劃分出來,通過對這些行為的分離,我們希望可以將它們獨立到非指導業務邏輯的方法中,進而改變這些行為的時候不影響業務邏輯的 裝飾器是乙個很著名的設計模式,經常被用...

python自定義函式修飾器

python自定義函式修飾器的格式和引用如下 首先定義乙個函式 def 1 x然後在需要用到函式修飾器的函式上方是使用 1的方式對該函式進行修飾 1 def hellowork xx 修飾函式,實際就是透明的修復和增強被修飾的函式,用 修飾函式修飾了被修飾函式,在呼叫被修飾函式時,實際就是呼叫了 修...