欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python裝飾器使用實(shí)例詳解

 更新時(shí)間:2019年12月14日 15:17:19   作者:Iceberg_710815  
這篇文章主要介紹了python裝飾器使用實(shí)例詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

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

python裝飾器的作用就是在不想改變?cè)瘮?shù)代碼的情況下,增加新的功能.主要應(yīng)用了python閉包的概念,現(xiàn)在用1個(gè)小例子說(shuō)明

import time
def 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 function
foo = show_time(foo)
bar = show_time(bar)

foo()
bar()

上面的代碼定義了兩個(gè)函數(shù)foo()和bar(). 通過(guò)裝飾器函數(shù)show_time(f),在其內(nèi)部定義了另一個(gè)閉包函數(shù)inner(),再通過(guò)foo=show_time(foo),bar=show_time(bar)語(yǔ)句將foo()和bar()函數(shù)同裝飾器函數(shù)關(guān)聯(lián)起來(lái),從而實(shí)現(xiàn)了不改變foo()和bar()函數(shù)代碼,增加打印程序執(zhí)行時(shí)間的功能.程序的執(zhí)行結(jié)果如下:

1.0011370182
2.00142788887

顯然,程序在沒(méi)有改變?cè)瘮?shù)的情況下,實(shí)現(xiàn)了調(diào)用原函數(shù)顯示程序運(yùn)行時(shí)間的功能.

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

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 function

foo()
bar()

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python針對(duì)給定字符串求解所有子序列是否為回文序列的方法

    Python針對(duì)給定字符串求解所有子序列是否為回文序列的方法

    這篇文章主要介紹了Python針對(duì)給定字符串求解所有子序列是否為回文序列的方法,涉及Python針對(duì)字符串的遍歷、判斷、運(yùn)算相關(guān)操作技巧,需要的朋友可以參考下
    2018-04-04
  • python條件和循環(huán)的使用方法

    python條件和循環(huán)的使用方法

    下面我們來(lái)介紹python條件語(yǔ)句和循環(huán)語(yǔ)句的使用方法。
    2013-11-11
  • Python網(wǎng)絡(luò)編程之HTTP協(xié)議的python應(yīng)用

    Python網(wǎng)絡(luò)編程之HTTP協(xié)議的python應(yīng)用

    HTTP是在網(wǎng)絡(luò)上傳輸HTML的協(xié)議,用于瀏覽器和服務(wù)器的通信,這篇文章主要介紹了Python網(wǎng)絡(luò)編程之HTTP協(xié)議的python應(yīng)用,需要的朋友可以參考下
    2022-11-11
  • Anaconda安裝以及修改環(huán)境默認(rèn)位置圖文教程

    Anaconda安裝以及修改環(huán)境默認(rèn)位置圖文教程

    Anaconda是一個(gè)用于科學(xué)計(jì)算的Python發(fā)行版,支持Linux,Mac, Windows, 包含了眾多流行的科學(xué)計(jì)算、數(shù)據(jù)分析的 Python 包,下面這篇文章主要給大家介紹了關(guān)于Anaconda安裝以及修改環(huán)境默認(rèn)位置的相關(guān)資料,需要的朋友可以參考下
    2023-04-04
  • 使用python刪除PDF文檔頁(yè)面注釋的代碼示例

    使用python刪除PDF文檔頁(yè)面注釋的代碼示例

    PDF文檔因其跨平臺(tái)的兼容性和格式穩(wěn)定性而備受青睞,然而,隨著文檔在不同用戶間的流轉(zhuǎn),累積的注釋可能會(huì)變得雜亂無(wú)章,因此,適時(shí)地移除PDF文檔中的注釋非常重要,所以本文將演示如何使用Python來(lái)刪除PDF文檔頁(yè)面的注釋,需要的朋友可以參考下
    2024-08-08
  • Python利用三層神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)手寫(xiě)數(shù)字分類詳解

    Python利用三層神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)手寫(xiě)數(shù)字分類詳解

    這篇文章主要介紹了如何設(shè)計(jì)一個(gè)三層神經(jīng)網(wǎng)絡(luò)模型來(lái)實(shí)現(xiàn)手寫(xiě)數(shù)字分類。本文給大家介紹的非常詳細(xì),感興趣的小伙伴快來(lái)跟小編一起學(xué)習(xí)一下
    2021-11-11
  • python plotly畫(huà)柱狀圖代碼實(shí)例

    python plotly畫(huà)柱狀圖代碼實(shí)例

    這篇文章主要介紹了python plotly畫(huà)柱狀圖代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-12-12
  • Python將HTML快速轉(zhuǎn)換成PDF的方法實(shí)現(xiàn)

    Python將HTML快速轉(zhuǎn)換成PDF的方法實(shí)現(xiàn)

    在Web開(kāi)發(fā)和報(bào)告任務(wù)中,將HTML內(nèi)容轉(zhuǎn)換為PDF是一種常見(jiàn)需求,本文主要介紹了Python將HTML快速轉(zhuǎn)換成PDF的方法實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-01-01
  • Python編程中flask的簡(jiǎn)介與簡(jiǎn)單使用

    Python編程中flask的簡(jiǎn)介與簡(jiǎn)單使用

    今天小編就為大家分享一篇關(guān)于Python編程中flask的簡(jiǎn)介與簡(jiǎn)單使用,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2018-12-12
  • Python的pdfplumber庫(kù)將pdf轉(zhuǎn)為圖片的實(shí)現(xiàn)

    Python的pdfplumber庫(kù)將pdf轉(zhuǎn)為圖片的實(shí)現(xiàn)

    本文主要介紹了Python的pdfplumber庫(kù)將pdf轉(zhuǎn)為圖片的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-06-06

最新評(píng)論