裝飾器實際上就是乙個函式,所有要先定義這個函式
然後裡面還有乙個函式,記得返回這個函式
當做了這個功能裝飾器之後,就可以想在某個函式中新增一些想要的功能了
而並沒有修改原先函式的基礎上給這個函式增加了一些功能
比如當自己已經寫完了乙個專案,然後想在這個專案中的函式中都新增hello world
有兩個特別之處:
引數是乙個函式
返回值是乙個函式
#在列印run之前,先要列印乙個hello world
#在所有的函式執行之前,都要列印乙個 hello world
#裝飾器使用時通過@符號,放在函式的上面
#裝飾器中定義的函式,要使用*args,**kwargs兩對兄弟的組合,並且原始函式執行的時候也要放進去
#需要使用functools.wraps在裝飾器中的函式上把傳進來的這個函式進行包裹,這樣就不會丟失原來的函式的__name__等屬性。
def zhuanshiqi(func):
@wraps
print('hello world')
response = func(*args,**kwargs) run函式有返回值得話要接受的
return response
@zhuangshiqi
def run():
pass
from functools import wraps
python裝飾器介紹 Python之裝飾器簡介
python函式式程式設計之裝飾器 1.開放封閉原則 簡單來說,就是對擴充套件開放,對修改封閉。在物件導向的程式設計方式中,經常會定義各種函式。乙個函式的使用分為定義階段和使用階段,乙個函式定義完成以後,可能會在很多位置被呼叫。這意味著如果函式的定義階段 被修改,受到影響的地方就會有很多,此時很容易...
Python的裝飾器介紹
通俗點說,裝飾器就是乙個返回值是函式的函式,這麼說可能有點繞。仔細分解 1.首先它是函式 2.它的返回值是乙個函式 裝飾器是乙個返回函式的函式 默讀三十遍 那麼它的作用是什麼呢?還是一句話描述的話 用於增強其他已存在函式的功能!目的是在不改變原函式名 類名 的情況下,給函式增加新的功能。先來點前奏 ...
python裝飾器簡單介紹
裝飾器的作用 在函式執行前或執行後執行一段 做一些通用處理 與直接在函式中寫 相比,優點在於可復用 呼叫形式為函式前 名字 dec def f i 裝飾器執行邏輯 系統看到裝飾器,將不呼叫原函式 呼叫裝飾器函式,將原函式作為引數傳入 此函式返回乙個函式,系統執行返回的函式 有意思的地方來了 返回的函...