最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python裝飾器常見使用方法分析

 更新時(shí)間:2019年06月26日 11:22:12   作者:輕舞肥羊  
這篇文章主要介紹了python裝飾器常見使用方法,結(jié)合實(shí)例形式分析了Python裝飾器的功能及三種常見的裝飾模式使用技巧,需要的朋友可以參考下

本文實(shí)例講述了python裝飾器常見使用方法。分享給大家供大家參考,具體如下:

python 的裝飾器,可以用來實(shí)現(xiàn),類似spring AOP 類似的功能。一樣可以用來記錄某個(gè)方法執(zhí)行前做什么,執(zhí)行后做什么,或者用來記錄日志,運(yùn)行的時(shí)間等,更有甚者,用這個(gè)來做權(quán)限攔截,也未嘗不可。從兩個(gè)方面來描述python 的裝飾模式:

1. 對普通方法的裝飾

2. 對在 class 類中的方法的裝飾,不需要給參數(shù)的情況

3. 對在 class 類中的方法的裝飾,需要給參數(shù)的情況

一,對普通方法的裝飾。比如,要計(jì)算一個(gè)一個(gè)方法執(zhí)行的時(shí)間.

#coding:utf-8
import time
def timeit(func):
  def wrapper(*args, **kv):
    start = time.clock()
    print '開始執(zhí)行'
    func(*args, **kv)
    end =time.clock()
    print '花費(fèi)時(shí)間:', end - start
  return wrapper
@timeit
def foo():
  print 'in foo()'
if __name__=='__main__':
  foo()

運(yùn)行結(jié)果:

開始執(zhí)行
in foo()
花費(fèi)時(shí)間: 6.55415628267e-05

可以看到,計(jì)算出了時(shí)間差。而不是像普通方法一樣,寫在一個(gè)函數(shù)里面實(shí)現(xiàn)。

二、對在 class 類中的方法的裝飾,不需要給參數(shù)的情況

#coding:utf-8
import time
def timeit(func):
  def wrapper(*args, **kv):
    start = time.clock()
    print '開始執(zhí)行'
    func(*args, **kv)
    end =time.clock()
    print '花費(fèi)時(shí)間:', end - start
  return wrapper
class MySpendTime(object):
  def __init__(self):
    pass
  @timeit
  def foo(self):
    print 'in foo()'
spendtime=MySpendTime()
spendtime.foo()

運(yùn)行結(jié)果:

開始執(zhí)行
in foo()
花費(fèi)時(shí)間: 4.42208134735e-05

三、對在 class 類中的方法的裝飾,需要給參數(shù)的情況

#coding:utf-8
'''
Created on 2012-11-1
@author: yihaomen.com
'''
def UpdateUI(msg, step):
  print u"內(nèi)容:", msg
  print u"步驟:到第%s步了" % step
  def dec(func):
    def wapper(self, *args, **kwargs):
      func(self,*args, **kwargs)
    return wapper
  return dec
class Command(object):
  def Excute(self):
    self.Work1st()
    self.Work2nd()
    self.Work3rd()
  @UpdateUI("開始第一步","1")
  def Work1st(self):
    print "Work1st"
  @UpdateUI("開始第二步", 2)
  def Work2nd(self):
    print "Work2nd"
  @UpdateUI("開始第三步", 3)
  def Work3rd(self):
    print "Work3rd"
if __name__=="__main__":
  command = Command()
  command.Excute()

運(yùn)行結(jié)果:

內(nèi)容: 開始第一步
步驟:到第1步了
內(nèi)容: 開始第二步
步驟:到第2步了
內(nèi)容: 開始第三步
步驟:到第3步了
Work1st
Work2nd
Work3rd

更多關(guān)于Python相關(guān)內(nèi)容可查看本站專題:《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python Socket編程技巧總結(jié)》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》及《Python入門與進(jìn)階經(jīng)典教程

希望本文所述對大家Python程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • python基于pexpect庫自動(dòng)獲取日志信息

    python基于pexpect庫自動(dòng)獲取日志信息

    這篇文章主要介紹了python基于pexpect庫自動(dòng)獲取日志信息的方法,幫助大家更好的利用python高效辦公,感興趣的朋友可以了解下
    2021-02-02
  • Python 用NumPy創(chuàng)建二維數(shù)組的案例

    Python 用NumPy創(chuàng)建二維數(shù)組的案例

    這篇文章主要介紹了Python 用NumPy創(chuàng)建二維數(shù)組的案例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • python實(shí)現(xiàn)圖片轉(zhuǎn)字符小工具

    python實(shí)現(xiàn)圖片轉(zhuǎn)字符小工具

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)圖片轉(zhuǎn)字符小工具,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-04-04
  • Python File(文件) 方法整理

    Python File(文件) 方法整理

    在本篇文章中我們給大家整理了關(guān)于Python File(文件) 的用法以及相關(guān)知識(shí)點(diǎn),有興趣的朋友們學(xué)習(xí)下。
    2019-02-02
  • Django如何實(shí)現(xiàn)內(nèi)容緩存示例詳解

    Django如何實(shí)現(xiàn)內(nèi)容緩存示例詳解

    緩存對于大家來說應(yīng)該都不陌生,下面這篇文章主要給大家介紹了關(guān)于Django如何實(shí)現(xiàn)內(nèi)容緩存的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起看看吧。
    2017-09-09
  • 詳解python配置虛擬環(huán)境

    詳解python配置虛擬環(huán)境

    這篇文章主要介紹了python配置虛擬環(huán)境,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • python交互式圖形編程實(shí)例(一)

    python交互式圖形編程實(shí)例(一)

    這篇文章主要為大家詳細(xì)介紹了python交互式圖形編程實(shí)例,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-11-11
  • python實(shí)現(xiàn)測試工具(二)——簡單的ui測試工具

    python實(shí)現(xiàn)測試工具(二)——簡單的ui測試工具

    這篇文章主要介紹了python如何實(shí)現(xiàn)簡單的ui測試工具,幫助大家更好的利用python進(jìn)行測試工作,感興趣的朋友可以了解下
    2020-10-10
  • Python列表排序方法reverse、sort、sorted詳解

    Python列表排序方法reverse、sort、sorted詳解

    這篇文章主要介紹了Python列表排序方法reverse、sort、sorted詳解,需要的朋友可以參考下
    2021-04-04
  • celery在python爬蟲中定時(shí)操作實(shí)例講解

    celery在python爬蟲中定時(shí)操作實(shí)例講解

    在本篇文章里小編給大家整理了一篇關(guān)于celery在python爬蟲中定時(shí)操作實(shí)例講解內(nèi)容,需要的朋友們可以參考下。
    2020-11-11

最新評論

永城市| 亚东县| 武陟县| 鸡泽县| 斗六市| 金塔县| 大英县| 盖州市| 三台县| 乐都县| 林口县| 黄龙县| 宿松县| 大荔县| 西盟| 连江县| 黄平县| 临海市| 赤壁市| 措勤县| 盖州市| 哈尔滨市| 海晏县| 东宁县| 大同市| 喀什市| 梁平县| 合作市| 六盘水市| 巴青县| 武冈市| 阿城市| 麟游县| 达拉特旗| 乌鲁木齐县| 达孜县| 武陟县| 加查县| 奉新县| 曲麻莱县| 炎陵县|