python裝飾器簡單介紹

2022-10-10 22:21:22 字數 883 閱讀 5823

裝飾器的作用:在函式執行前或執行後執行一段**做一些通用處理

與直接在函式中寫**相比,優點在於可復用

呼叫形式為函式前@名字

@dec

def f(i):

裝飾器執行邏輯:

系統看到裝飾器,將不呼叫原函式

呼叫裝飾器函式,將原函式作為引數傳入

此函式返回乙個函式,系統執行返回的函式(有意思的地方來了 返回的函式可以不包括原函式,也就是讓呼叫原函式指令失效)

同時系統將把原函式的引數賦予給返回的函式

**示例

原函式接受乙個引數

裝飾器接受原函式 返回乙個函式

功能:返回的函式中輸出接受到的引數 把其中乙個引數再傳給原函式執行

*a替代不定長普通引數 重點在* 可以是*b *c

a是乙個元組 此示例中=(1, 2, 3)

**b替代不定長引數 重點在**

b是乙個字典 此示例中=

import time

def dec(f):

def wrap(*a,**b):

s=time.time()

for i in a:

print(i,end=' ')

for i in b:

print('{}:{}'.format(i,b[i]))

f(a[0])

print('spend:{}'.format(time.time()-s))

return wrap

@dec

def f(i):

print('函式引數{}'.format(i))

time.sleep(0.5)

f(1,2,3,a=1,b=2)

python簡單裝飾器 python裝飾器簡單使用

理解裝飾前先理解python閉包的概念 下面是對裝飾器的簡單舉例 實質 是乙個函式 引數 是你要裝飾的函式名 並非函式呼叫 返回 是裝飾完的函式名 inner 作用 為已經存在的物件新增額外的功能 特點 不需要對物件做任何的 上的變動 被裝飾的函式無引數 def decorate func 裝飾器列...

python裝飾器介紹 Python之裝飾器簡介

python函式式程式設計之裝飾器 1.開放封閉原則 簡單來說,就是對擴充套件開放,對修改封閉。在物件導向的程式設計方式中,經常會定義各種函式。乙個函式的使用分為定義階段和使用階段,乙個函式定義完成以後,可能會在很多位置被呼叫。這意味著如果函式的定義階段 被修改,受到影響的地方就會有很多,此時很容易...

Python的裝飾器介紹

通俗點說,裝飾器就是乙個返回值是函式的函式,這麼說可能有點繞。仔細分解 1.首先它是函式 2.它的返回值是乙個函式 裝飾器是乙個返回函式的函式 默讀三十遍 那麼它的作用是什麼呢?還是一句話描述的話 用於增強其他已存在函式的功能!目的是在不改變原函式名 類名 的情況下,給函式增加新的功能。先來點前奏 ...