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] 举报,一经查实,本站将立刻删除。