码迷,mamicode.com
首页 > 编程语言 > 详细

Python装饰器的使用

时间:2019-11-03 11:13:46      阅读:107      评论:0      收藏:0      [点我收藏+]

标签:**kwargs   python装饰器   strong   code   ret   简单   pre   end   show   

简单使用

def decorator(new_func):
    def inner():
        print("+++")
        new_func()
    return inner

@decorator
def show():
    print("BBB")

show()

#结果如下:
+++
BBB

装饰器带有参数的函数

def decorator(func):
    def inner(num1,num2):
        print("计算结果如下:")
        func(num1,num2)
    return inner

@decorator
def sum(num1,num2):
    result=num1+num2
    print(result)

sum(2,3)

#结果如下:
计算结果如下:
5

通用的装饰器

def decorator(func):
    def inner(*args, **kwargs):
        print("计算结果如下", end=" ")
        result=func(*args, **kwargs)
        return result
    return inner

@decorator
def sum(num1, num2, num3):
    result = num1 + num2 + num3
    return result

result = sum(1, 2,5)
print(result)

#结果如下:
计算结果如下 8

带有参数的装饰器

def get_decorator(char):
    def decorator(func):
        def inner():
            print(char)
            func()
        return inner
    return decorator

@get_decorator("aaaa")
def show():
    print("1111")

show()

#结果如下:
aaaa
1111

Python装饰器的使用

标签:**kwargs   python装饰器   strong   code   ret   简单   pre   end   show   

原文地址:https://www.cnblogs.com/hankleo/p/11785184.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!