9.4装饰器之装饰函数的参数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了9.4装饰器之装饰函数的参数相关的知识,希望对你有一定的参考价值。

装饰器之装饰函数的参数

需求:判断条件是否添加日志

# -*-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装饰器之装饰函数的参数的主要内容,如果未能解决你的问题,请参考以下文章

Python中的装饰器之写一个装饰器

python进阶之装饰器之2.定义一个可接受参数的装饰器如何定义一个属性可由用户修改的装饰器定义一个能接受可选参数的装饰器

装饰器之功能函数参数

Python:装饰器之有参装饰器

Python装饰器之 property()

Python装饰器之 property()