优草派  >   Python

Python函数装饰器使用语法是什么?Python函数装饰器使用教程

罗西汉            来源:优草派

python装饰器指的就是能够一个已经存在的函数,去额外添加上某些功能的函数,装饰器本身就是封装好的函数。那么很多初学者对于装饰器还不太了解并且也不会使用,所以这一篇文章就是会来详细介绍一下python函数装饰器使用语法,感兴趣的话就一起往下看看吧。

Python函数装饰器使用语法是什么?Python函数装饰器使用教程

一、不带参数

因为python装饰器本身也就是一个函数,所以这个装饰器在调用时也可以去设置不传递参数进去,哪怕它本身在定义时有形参存在。那么任何一个函数都可以作为装饰器去使用,只需要用@加上不带括号的函数名并将其写在另外一个函数上即可,详细代码如下所示:

def mycountry(m):
    print(123)
    return m
@mycountry
def myname():
    print(456)
    return name
myname()
123
456

上面这段代码只是去调用了函数myname,但是因为另外一个函数mycountry是作为这个函数的装饰器存在,所以这个函数在调用时也通用会执行这个装饰器函数。而不带参数的实际原因是在于,country函数在调用时就会将下面的name函数作为参数传入进去。

二、带参数

那么带参数就很容易理解了,这里的带参数不是说在装饰器后面加上括号并写形参。而是只有装饰器修饰的函数在调用是传入参数进去,那么因为整个函数都会作为装饰器参数,所以在执行该函数时就会连同值一起传入到装饰器之中,详细代码示例如下所示:

def mycountry(m):
    country = "china"
    print(country)
    def myb(bb):
        m(bb)
        print("y")
    return myb
@mycountry
def myname(b):
    name = "choei"
    print(name)
    print("a :",b)
    return name
myname("boy")

以上就是关于“Python函数装饰器使用语法是什么?Python函数装饰器使用教程”的全部内容了,希望对你有所帮助。

【原创声明】凡注明“来源:优草派”的文章,系本站原创,任何单位或个人未经本站书面授权不得转载、链接、转贴或以其他方式复制发表。否则,本站将依法追究其法律责任。
TOP 10
  • 周排行
  • 月排行