• python @修饰符,这篇文章写得明明白白的


    python @修饰符的作用是什么?裤子可以用来隐藏羞耻,但是在冬天它不能保护我们免受风和寒冷。聪明人发明了裤子。穿上裤子后,宝宝就不再冷了。装饰装置,像我们这里所说的裤子,在不影响内裤功能的情况下为我们的身体提供温暖

    装饰器本质上是一个Python函数,它允许其他函数在不改变任何代码的情况下添加额外的函数。装饰器的返回值也是一个函数对象。它通常用在有不相关需求的场景中,如插入日志、性能测试、事务处理、缓存、权限检查等。装潢师是解决这类问题的绝佳设计。使用decorator,我们可以隔离大量与函数本身无关的相同代码,并持续重用它们。总之,装饰者的角色是向现有对象添加附加功能。

    这里我就给大家写个明白,在Python的函数(function)中偶尔(jing chang)会看到函数定义的上一行有@functionName的修饰,当解释器读到@这样的修饰符的时候会优先解除@后的内容,直接就把@的下一行的函数或者类作为@后边函数的参数,然后将返回值赋给下一个修饰的函数对象。

    要了解python中@装饰器的作用,首先要记住这么几点:

    1. 装饰器符号“@”属于语法糖,什么意思呢?就是说,我不按照@装饰器的语法要求来写,而是按照一般python的语法要求来写完全可以。那么用@装饰器的格式来写的目的就是为了书写简单方便

    2. 装饰器的作用是什么呢? 简单的理解就是:装饰原有的函数。什么意思呢?比如有一个函数func(a, b),它的功能是求a,b的差值,我现在有一个需求,就是想对函数功能再装饰下,求完差值后再取绝对值,但是不能在func函数内部实现,这时候就需要装饰器函数了,比如func = decorate(func)函数,将func函数作为参数传递给decorate函数,由decorate来丰富func函数,丰富完成后再返回给func,此时func的功能就丰富了。

    3.python的常识,函数和其他任何东西一样,都是对象。这意味着可以将函数当做实参传递给函数,或者在函数中将函数作为返回值返回。例码验证:

    ###示例代码
    def function_1(A):
        print("function_1")
    def function_2(B):
        print(B(3))
        print("function_2")
     
     
    @function_1
    @function_2
    def function_name(n):
        print("Hello World ,i am function_name")
        return n+5
    ...
    ...
    #python会按照自上而下的顺序把各自的函数结果作为下一个函数的输入。
    #输出结果:
     
    """
    hello world ,i am function_name
    8
    function_2
    function_1
    """
    

      

    我的其他文章:

    python调用api接口获取数据,python如何调用api接口(附代码)

    为什么用Python,高级的Python是一种高级编程语言

    不要再纠结Python哪个版本好,2020年用Python3就对了

    小发猫AI标题自动生成神器,人工智能能做的东西有很多

  • 相关阅读:
    使用容器出现vector subscript out of range等类似错误
    string类库中的find和rfind函数
    Codeforces Round #181 (Div. 2)
    有关C++ int long最大表示长度问题
    js之京东商城分类导航效果
    JS之轮播图自动切换效果
    js之网页倒计时效果
    Js获取当前日期时间及其它操作
    js判断浏览器之事件绑定
    js之ajax实例
  • 原文地址:https://www.cnblogs.com/phploser/p/12650735.html
Copyright © 2020-2023  润新知