91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python裝飾器函數

發布時間:2020-06-11 18:53:28 來源:網絡 閱讀:190 作者:CallousMaster 欄目:編程語言

裝飾器函數


這里定義了一個func函數,打印‘我是func函數’

def func():
    print('我是func函數');
        time.sleep(1);

假設,想要在func()函數的基礎之上新增的一個功能,計算func函數執行所用的時間

import time;#時間模塊,處理時間操作
#開閉原則,對擴展開放,對修改封閉
def func():
    print('我是func函數');
    time.sleep(1);#休眠一秒
#tools方法就是func方法的裝飾器
def tool():
    def inner():#利用了高階函數
        #開始的時間
        starttime=time.time();
        func();#調用函數執行上面的方法
        #結束的時間
        endtime=time.time();
        print('用時:%s秒'%(endtime-starttime));
    return inner;
inner=tool();
inner();

####################調用的方式混亂 以上策略不推薦
#接下來使用裝飾器,這種在代碼運行期間動態增加功能的方式,稱之為“裝飾器”(Decorator)。本質上,decorator就是一個返回函數的高階函數。

def logger(flag):
    #裝飾器
    def tool(f):#f:func方法的方法名
        def inner():#利用了高階函數
            #開始的時間
            starttime=time.time();
            f();#真正的執行方法,調用了func
            #結束的時間
            endtime=time.time();
            print('用時:%s秒'%(endtime-starttime));
            if flag=='true':
                print('你傳入了TRUE變量')
        return inner;#內層方法的函數名
    return tool;
#主方法。想要給修飾器傳參,在修飾器外重新生成修飾器
@logger('true')
def func():
    print('我是func函數');
    time.sleep(1);#休眠一秒
func();
向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

达日县| 无锡市| 抚州市| 儋州市| 红桥区| 临城县| 乌拉特前旗| 克东县| 大兴区| 翁源县| 塘沽区| 龙陵县| 福安市| 措勤县| 克东县| 揭东县| 会泽县| 苏尼特右旗| 上思县| 普兰县| 兴海县| 廊坊市| 调兵山市| 双峰县| 冕宁县| 隆尧县| 木里| 秦皇岛市| 专栏| 阿巴嘎旗| 宜兰市| 岑巩县| 年辖:市辖区| 车险| 东至县| 苗栗县| 电白县| 霍林郭勒市| 三江| 商河县| 洛浦县|