zoukankan      html  css  js  c++  java
  • Python装饰器之functools.wraps的作用

    # -*- coding: utf-8 -*-
    # author:baoshan
    
    
    def wrapper(func):
        def inner_function():
            pass
        return inner_function
    
    
    @wrapper
    def wrapped():
        pass
    
    
    print(wrapped.__name__)
    # inner_function
    
    def wrapped2():
        pass
    
    
    print(wrapper(wrapped2).__name__)
    # inner_function
    
    
    # 为了避免上述情况的产生,方法是使用functools.wraps装饰器,
    # 它的作用就是被修饰的函数(wrapped)的一些属性值赋值给修饰器函数(wrapper),
    # 最终让属性的显示更符合我们的直觉。
    
    from functools import wraps
    
    def wrapper2(func):
    
        @wraps(func)
        def inner_function():
            pass
        return inner_function
    
    @wrapper2
    def wrapped3():
        pass
    
    print(wrapped3.__name__)
    # wrapped3

    Python装饰器之functools.wraps的作用,就是给被修饰的函数的一些属性值赋值给修饰器函数。

    谢谢!

  • 相关阅读:
    position之属性
    Grid网格布局
    position 属性指定了元素的定位类型
    注册表单
    简单页面
    自我介绍
    正则表达式
    Dom和Bom
    颜色和单位
    伪类和伪元素的区别
  • 原文地址:https://www.cnblogs.com/zhzhang/p/11375999.html
Copyright © 2011-2022 走看看