微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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函数装饰器使用教程”的全部内容了,希望对你有所帮助。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐