1. 程式人生 > >9.4裝飾器之裝飾函數的參數

9.4裝飾器之裝飾函數的參數

Python 裝飾器

裝飾器之裝飾函數的參數

需求:判斷條件是否添加日誌

# -*-coding:utf-8 -*-
__date__ = ‘2018/2/26 ‘
__author__ = ‘xiaojiaxin‘
__file_name__ = ‘裝飾函數參數‘

import time
def logger(flag):
    def show_time(f):
        def inner(*x,**y):
            start_time=time.time()
            f(*x,**y)
            end_time=time.time()
            print(end_time-start_time)
            if flag=="true":
                print("日誌記錄")
        return inner
    return show_time

@logger("true")
def add1(*args,**kwargs):
    sum=0
    for i in args:
        sum+=i
    print(sum)
    for j in kwargs:
        print(j,kwargs[j])
    time.sleep(1)

add1(1,2,3,name="jiaxin")
# 6
# name jiaxin
# 1.0006647109985352
# 日誌記錄

大家對內容有任何問題,歡迎留言,定在第一時間解答,謝謝大家!

9.4裝飾器之裝飾函數的參數