日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > python >内容正文

python

python中的装饰器

發(fā)布時(shí)間:2025/3/15 python 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python中的装饰器 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

什么是裝飾器

如果有函數(shù)A,B,C,已經(jīng)所有編寫(xiě)完畢。這時(shí)你發(fā)現(xiàn)A, B, C都須要同一個(gè)功能,這時(shí)該怎么辦??

答: 裝飾器

裝飾器事實(shí)上就是一個(gè)函數(shù),只是這個(gè)函數(shù)的返回值是一個(gè)函數(shù)

個(gè)人理解。裝飾器主要就是為了完畢上邊的這個(gè)功能,將A, B, C 函數(shù)包裹在還有一個(gè)函數(shù)D中。D函數(shù)在A函數(shù)運(yùn)行之前或之后,處理一些事情


#!/usr/bin/env python #coding:utf-8 def SeparatorLine():print "############################"#裝飾器帶參數(shù)函數(shù)帶參數(shù) def DecratorArgFuncArg(f1,f2):def inner(func):def wrapper(arg):print "裝飾器帶參數(shù)函數(shù)帶參數(shù)"f1() result = func(arg)f2()return result return wrapperreturn inner#裝飾器帶參數(shù)函數(shù)不帶參數(shù) def DecratorArgFuncNoArg(f1,f2):def inner(func):def wrapper():print "裝飾器帶參數(shù)函數(shù)不帶參數(shù)"f1() result=func()f2()return resultreturn wrapperreturn inner#函數(shù)沒(méi)有參數(shù)的裝飾器 def FuncNoArgDecrator(func):def wrapper():print "函數(shù)沒(méi)有參數(shù)的裝飾器" func()return wrapper#函數(shù)有參數(shù)的裝飾器 def FuncArgDecrator(func):def wrapper(arg):print "函數(shù)有參數(shù)的裝飾器" func(arg)return wrapper#函數(shù)有返回值的裝飾器 def FuncReturnDecrator(func):def wrapper():print "函數(shù)有返回值的裝飾器" result=func()return resultreturn wrapper#這兩個(gè)函數(shù)用 def login():print '開(kāi)始登錄'def logout():print '退出登錄'@FuncArgDecrator def Lee(arg):print 'I am %s' %arg@FuncNoArgDecrator def Marlon():print 'i am Marlon'@DecratorArgFuncNoArg(login,logout) def Allen():print 'i am Allen' @DecratorArgFuncArg(login,logout) def Aswill(name):print 'I am %s' %name @FuncReturnDecrator def Frank():return 'I am frank'if __name__=='__main__':SeparatorLine()Lee('Lee')SeparatorLine()Marlon()SeparatorLine()Allen()SeparatorLine()Aswill('Aswill')SeparatorLine()result = Frank()print result


總結(jié)

以上是生活随笔為你收集整理的python中的装饰器的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。