py py裝飾器原理

2021-08-07 03:51:04 字數 1406 閱讀 8370

算是py語言的個特性功能吧. 其他js還沒接觸到有沒有這個功能

主要亮點: 在不修改現有函式的功能要求下,豐富現有函式功能.

def

f1():

print("f1 func")

deff2

(): print("f2 func")

deff3

(): print("f3 func")

deff4

(): print("f4 func")

deff5

(): print("f5 func")

...特別多

#!/usr/bin/env python

# coding=utf-8

defouter

(func):

definner

(): print("hello")

print("hello")

r= func()

print("end....")

return r

return inner

@outer

deff1

(): print("f1 fun")

f1()

print("-"*40)

@outer

deff2

(): print("f2 fun")

f2()

def

printhello

(): print("hell world")

deff1

(): printhello()

print("f1 func")

...

@outer
#!/usr/bin/env python

# coding=utf-8

defouter

(func):

# func = 原來的f1函式

# return lambda: 123

definner

(): print("hello")

print("hello")

r= func() # 執行原f1

print("end....")

return r # 還是原f1的返回值

return inner

@outer

deff1

(): print("f1 fun")

f1()

print("-"*40)

@outer

deff2

(): print("f2 fun")

f2()

裝飾器原理

裝飾器,原理 開放封閉原則 def outer func func 原來的f1函式 def inner args,kwargs args,kwargs裝飾器就這麼寫,可以應對多個引數 print ok1 r func args,kwargs r等於none print ok2 return r re...

python裝飾器原理 Python裝飾器原理

裝飾器 decorator 是物件導向設計模式的一種,這種模式的核心思想是在不改變原來核心業務邏輯 的情況下,對函式或類物件進行額外的修飾。python中的裝飾器由python直譯器直接支援,其定義形式如下 decorator def core service 要理解上述 的含義,我們從自定義函式裝...

裝飾器原理分析

實驗一 usr local bin python3 deff name print name defh fun print fun.name defg print jack return fun return g return h f bob def fun1 print fun1 return f...