Python裝飾器用法示例小結(jié)
本文實例講述了Python裝飾器用法。分享給大家供大家參考,具體如下:
下面的程序示例了python裝飾器的使用:
示例一:
def outer(fun):
print fun
def wrapper(arg):
result=fun(arg)
print 'over!'
return result
return wrapper
@outer
def func1(arg):
print 'func1',arg
return 'very good!'
response=func1('python')
print response
print func1
運行結(jié)果:
<function func1 at 0x02A67D70> func1 python over! very good! <function wrapper at 0x02A67CF0>
示例二:
#!/usr/bin/env python
#coding:utf-8
def Filter(before_func,after_func):
print before_func
print after_func
def outer(main_func):
print main_func
def wrapper(request,kargs):
before_result=before_func(request,kargs)
if(before_result!=None):
return before_result;
main_result=main_func(request,kargs)
if(main_result!=None):
return main_result;
after_result=after_func(request,kargs)
if(after_result!=None):
return after_result;
return wrapper
return outer
def before(request,kargs):
print request,kargs,'之前!'
def after(request,kargs):
print request,kargs,'之后!'
@Filter(before,after)
def main(request,kargs):
print request,kargs
main('hello','python')
print main
運行結(jié)果:
<function before at 0x02AC7BF0> <function after at 0x02AC7C30> <function main at 0x02AC7CF0> hello python 之前! hello python hello python 之后! <function wrapper at 0x02AC7D30>
我們可以加上很多斷點,在Debug模式下運行,查看程序一步一步的運行軌跡。。。
更多關(guān)于Python相關(guān)內(nèi)容可查看本站專題:《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python Socket編程技巧總結(jié)》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》及《Python入門與進階經(jīng)典教程》
希望本文所述對大家Python程序設(shè)計有所幫助。
相關(guān)文章
python中cv2.imread()和Image.open()的區(qū)別和聯(lián)系詳解
image.open和cv2.imread都是Python中用于讀取圖像文件的函數(shù),但是它們之間有一些區(qū)別,這篇文章主要給大家介紹了關(guān)于python中cv2.imread()和Image.open()的區(qū)別和聯(lián)系,需要的朋友可以參考下2024-07-07
Python實現(xiàn)將元組中的元素作為參數(shù)傳入函數(shù)的操作
這篇文章主要介紹了Python實現(xiàn)將元組中的元素作為參數(shù)傳入函數(shù)的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-06-06
python爬蟲開發(fā)之urllib模塊詳細使用方法與實例全解
這篇文章主要介紹了python爬蟲開發(fā)之urllib模塊詳細使用方法與實例全解,需要的朋友可以參考下2020-03-03
python使用pika庫調(diào)用rabbitmq參數(shù)使用詳情
這篇文章主要介紹了python使用pika庫調(diào)用rabbitmq參數(shù)使用詳情,文章通過展開文章主題分享了三種方式,具有一定的參考價值,需要的朋友可以參考一下2022-08-08
pytorch關(guān)于卷積操作的初始化方式(kaiming_uniform_詳解)
這篇文章主要介紹了pytorch關(guān)于卷積操作的初始化方式(kaiming_uniform_詳解),具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-09-09

