麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 開發 > Python > 正文

python裝飾器使用實例詳解

2024-09-09 19:03:17
字體:
來源:轉載
供稿:網友

這篇文章主要介紹了python裝飾器使用實例詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

python裝飾器的作用就是在不想改變原函數代碼的情況下,增加新的功能.主要應用了python閉包的概念,現在用1個小例子說明

import timedef foo():  time.sleep(1)  def bar():  time.sleep(2)  def show_time(f):  def inner():    start_time = time.time()    f()    end_time = time.time()    print(end_time-start_time)  return inner#show_time(f) is a decoration functionfoo = show_time(foo)bar = show_time(bar)foo()bar()

上面的代碼定義了兩個函數foo()和bar(). 通過裝飾器函數show_time(f),在其內部定義了另一個閉包函數inner(),再通過foo=show_time(foo),bar=show_time(bar)語句將foo()和bar()函數同裝飾器函數關聯起來,從而實現了不改變foo()和bar()函數代碼,增加打印程序執行時間的功能.程序的執行結果如下:

1.00113701822.00142788887

顯然,程序在沒有改變原函數的情況下,實現了調用原函數顯示程序運行時間的功能.

上面的小程序可以將調用裝飾器的語句改成@decoration的形式,效果是造價的,改變后的程序如下,其功能和上面的程序完全相同.

import time@show_time #foo = show_time(foo)def foo():  time.sleep(1) @show_time #bar = show_time(bar)def bar():  time.sleep(2)    def show_time(f):  def inner():    start_time = time.time()    f()    end_time = time.time()    print(end_time-start_time)  return inner#show_time(f) is a decoration functionfoo()bar()

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網之家。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 国产精品久久亚洲 | 欧美精品成人一区二区在线观看 | 精品成人国产在线观看男人呻吟 | 欧美性色生活片免费播放 | 国产好片无限资源 | 黄色三级三级三级 | 欧美一级高清片在线 | 一起草av在线 | 欧美一级黄色免费 | 99热久草 | 久久精品亚洲欧美日韩精品中文字幕 | 精品国产91久久久久久久妲己 | 把娇妻调教成暴露狂 | 久久久久久久久久久亚洲 | 久久蜜桃香蕉精品一区二区三区 | 精品国产91久久久久久浪潮蜜月 | 黄色大片网站在线观看 | 天天看天天摸天天操 | 啪啪激情 | www.99av| 黄色电影免费提供 | 一级在线免费观看视频 | 怦然心动50免费完整版 | 久草成人在线 | 国产人成免费爽爽爽视频 | 国产精品久久久久久久久久 | 亚洲国产一区二区三区 | 毛片免费看网站 | a一级黄 | 中文字幕h | 99亚洲伊人久久精品影院红桃 | 欧美激情性色生活片在线观看 | 精品国产一区二区三区四区阿崩 | 国产视频在线播放 | 亚洲一区二区三区日本久久九 | 国产亚洲综合一区二区 | 亚洲视频在线一区二区 | 久久久一区二区三区视频 | 久久人人爽人人爽人人片av免费 | 精品国产乱码久久久久久丨区2区 | 久久精品综合视频 |