码迷,mamicode.com
首页 > 其他好文 > 详细

装饰器修复技术

时间:2019-10-31 00:55:15      阅读:80      评论:0      收藏:0      [点我收藏+]

标签:cal   return   函数   func   打印   from   print   def   pytho   

装饰器修复技术,让其更加完美,如果不加这个的话,函数内部会打印装饰器内的注释,加上之后,打印的是被装饰的函数.

装饰器

def login_auth(func):
    """我是装饰器"""
    def inner(*args, **kwargs):
        res = func(*args, **kwargs)
        return res

    return inner

@login_auth
def login():
    """我是被装饰的函数"""
    ...
print(login)
print(help(login))
###############################
<function login_auth.<locals>.inner at 0x000001DC6ABE60D0>
Help on function inner in module __main__:

inner(*args, **kwargs)
    我是装饰器

None

修饰装饰器

导入from functools import wraps

from functools import wraps
def login_auth(func):
    @wraps(func)

    def inner(*args, **kwargs):
        """我是装饰器"""
        res = func(*args, **kwargs)
        return res

    return inner

@login_auth
def login():
    """我是被装饰的函数"""
    ...
print(login)
print(help(login))
####################################
<function login at 0x000002ADDBEC60D0>
Help on function login in module __main__:

login()
    我是被装饰的函数

None

装饰器修复技术

标签:cal   return   函数   func   打印   from   print   def   pytho   

原文地址:https://www.cnblogs.com/SkyOceanchen/p/11768750.html

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