python知識點(八) 函式裝飾器

2021-09-26 18:36:25 字數 1418 閱讀 8547

一、概述

1、用於管理和增強函式和類行為的**

2、提供一種在函式或類定義中插入自動執行**的機制

3、特點

更明確的語法

更高的**可維護性

更好的一致性

二、1、使用函式定義裝飾器

def

p_decorator

(func)

:def

(*args,

**kwargs)

:return f'

'@p_decorator

defget_test()

:return

'welcome home'

if __name__ ==

'__main__'

:print

(get_test(

))

2、使用類定義裝飾器

classp:

def__init__

(self,func)

: self.func = func

def__call__

(self,

*args,

**kwargs)

:return

''+ self.func(

*args,

**kwargs)+'

'@pdefget_upper_text

(text)

:return text.upper(

)if __name__ ==

'__main__'

:print

(get_test())

print

(get_upper_text(

'qwert'

))

3、引數化裝飾器

def

br#:def

tag_decorator

(func)

:def

(*args,

**kwargs)

:return f'<>'

return tag_decorator

@tags(

'div'

)def

get_test()

:return

'welcome home'

@tags(

'div'

)def

get_upper_text

(text)

:return text.upper(

)if __name__ ==

'__main__'

:print

(get_test())

print

(get_upper_text(

'qwert'

))

Python裝飾器知識點補充

首先回顧一下關於python裝飾器以及程式設計客棧裝飾器模式 補全根據j a實現裝飾器模式的,我們可以寫下面一段 import logging def use logging func logging.warn s is running func.name return func def foo p...

Python 函式知識點

1.函式的意思 函式是指對某一功能的封裝 2.函式的語法 def 函式名 函式體函式名 3.函式的返回值 return,當讀到return,不會繼續往下讀 1.如果沒有return,預設返回none 2.如果只有return,返回none 3.return 返回值,只返回乙個值 4.return 值...

wl 22 裝飾器函式操作及知識點

print time.time 獲取當前時間 time.sleep 10 讓程式在執行到這個位置的時候停一會兒 經典示例 def func 被裝飾的函式 time.sleep 0.01 print deftimmer f 裝飾器函式 definner start time.time f 被裝飾的函式...