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?pyecharts?Boxplot箱線圖的實現(xiàn)
本文主要介紹了Python?pyecharts?Boxplot箱線圖的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-05-05Python入門_學(xué)會創(chuàng)建并調(diào)用函數(shù)的方法
下面小編就為大家?guī)硪黄狿ython入門_學(xué)會創(chuàng)建并調(diào)用函數(shù)的方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-05-05Python中利用mpld3創(chuàng)建交互式Matplotlib圖表的代碼示例
mpld3 是一個 Python 庫,它將 Matplotlib 圖表轉(zhuǎn)換為 D3.js(JavaScript 繪圖庫)可解釋的格式,從而實現(xiàn)了在瀏覽器中顯示并交互的功能,在本文中,我們將介紹如何使用 mpld3 在 Python 中創(chuàng)建交互式 Matplotlib 圖表,并提供代碼示例,需要的朋友可以參考下2024-05-05Python?Fire中兩種命令行參數(shù)靈活設(shè)置方式詳解
Python的Fire庫,一個用來生成命令行工具的的庫,這篇文章主要針對命令行參數(shù),補充兩種更加靈活的設(shè)置方式,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-01-01如何利用Python讓Excel快速按條件篩選數(shù)據(jù)
平時總是要對Excel進行操作,整理了一下平時經(jīng)常會用到的操作,下面這篇文章主要給大家介紹了關(guān)于如何利用Python讓Excel快速按條件篩選數(shù)據(jù)的相關(guān)資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下2022-12-12python實現(xiàn)scrapy爬蟲每天定時抓取數(shù)據(jù)的示例代碼
這篇文章主要介紹了python實現(xiàn)scrapy爬蟲每天定時抓取數(shù)據(jù)的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01