国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

python 裝飾器

大家講道理
發(fā)布: 2017-08-19 14:47:35
原創(chuàng)
2310人瀏覽過

之前就了解到了裝飾器, 但是就會點皮毛, 而且對其調(diào)用方式感到迷茫,正好現(xiàn)在的項目我想優(yōu)化,就想到了用裝飾器, 因此深入研究了下裝飾器.

先看下代碼:


import time# 將函數(shù)作為參數(shù)傳入到此方法....def timeif(func):    def wrapper(arg):        print("in wrapper() %s" % (arg))
        start = time.clock()
        func(arg)
        end = time.clock()        print("used: %s %s" % (end-start, arg))    return wrapper


@timeifdef foo(arg):    print("in foo() %s" % (arg))if __name__ == '__main__':
    foo(" Hello ")  # 表示執(zhí)行foo函數(shù)....
登錄后復(fù)制

我的疑惑就是明明return 的是一個函數(shù)名,按道理來講,返回的就是一個函數(shù)地址??!我理解有問題?隨后上網(wǎng)查資料,又是閉包....但是我個人對它不感冒,隨后自己分析,總結(jié)出了一段程序,看完你就知道原因了.
程序:


# coding=utf-8# 帶參數(shù)的函數(shù)  返回一個函數(shù)地址就行....def funX(x):    def funY():        return x    return funY# 不帶參數(shù)的函數(shù)....def funX1():    print("調(diào)用函數(shù)funX1")    def funY1():        print("調(diào)用函數(shù)funY1")    return funY1if __name__ == '__main__':    # print(funX(5)())  # 調(diào)用有參數(shù)的嵌套函數(shù)...
    
    print(funX1()())  # 調(diào)用無參數(shù)的嵌套函數(shù)...
登錄后復(fù)制

這和我們的裝飾器不像嗎?這就是我們的裝飾器!因此,我們可以按照上面的程序來理解,也就是說它是首先確定參數(shù)個數(shù),隨后分別傳入的,下面,我們來改寫代碼:


# coding=utf-8import time# 將函數(shù)作為參數(shù)傳入到此方法....def timeif(func):    def wrapper(arg):        print("in wrapper() %s" % (arg))
        start = time.clock()
        func(arg)
        end = time.clock()        print("used: %s %s" % (end-start, arg))    return wrapper# @timeifdef foo(arg):    print("in foo() %s" % (arg))if __name__ == '__main__':
    timeif(foo)(' Hello')
登錄后復(fù)制

立即學(xué)習(xí)Python免費學(xué)習(xí)筆記(深入)”;

以上就是python 裝飾器的詳細內(nèi)容,更多請關(guān)注php中文網(wǎng)其它相關(guān)文章!

python速學(xué)教程(入門到精通)
python速學(xué)教程(入門到精通)

python怎么學(xué)習(xí)?python怎么入門?python在哪學(xué)?python怎么學(xué)才快?不用擔(dān)心,這里為大家提供了python速學(xué)教程(入門到精通),有需要的小伙伴保存下載就能學(xué)習(xí)啦!

下載
相關(guān)標(biāo)簽:
來源:php中文網(wǎng)
本文內(nèi)容由網(wǎng)友自發(fā)貢獻,版權(quán)歸原作者所有,本站不承擔(dān)相應(yīng)法律責(zé)任。如您發(fā)現(xiàn)有涉嫌抄襲侵權(quán)的內(nèi)容,請聯(lián)系admin@php.cn
作者最新文章
最新問題
開源免費商場系統(tǒng)廣告
最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板
關(guān)于我們 免責(zé)申明 意見反饋 講師合作 廣告合作 最新更新
php中文網(wǎng):公益在線php培訓(xùn),幫助PHP學(xué)習(xí)者快速成長!
關(guān)注服務(wù)號 技術(shù)交流群
PHP中文網(wǎng)訂閱號
每天精選資源文章推送
PHP中文網(wǎng)APP
隨時隨地碎片化學(xué)習(xí)
PHP中文網(wǎng)抖音號
發(fā)現(xiàn)有趣的

Copyright 2014-2025 http://miracleart.cn/ All Rights Reserved | php.cn | 湘ICP備2023035733號