python装饰器指的就是能够一个已经存在的函数,去额外添加上某些功能的函数,装饰器本身就是封装好的函数 。那么很多初学者对于装饰器还不太了解并且也不会使用,所以这一篇文章就是会来详细介绍一下python函数装饰器使用语法,感兴趣的话就一起往下看看吧 。
文章插图
一、不带参数
因为python装饰器本身也就是一个函数,所以这个装饰器在调用时也可以去设置不传递参数进去,哪怕它本身在定义时有形参存在 。那么任何一个函数都可以作为装饰器去使用,只需要用@加上不带括号的函数名并将其写在另外一个函数上即可,详细代码如下所示:
def mycountry(m): print(123) return m@mycountrydef myname(): print(456) return namemyname()123456上面这段代码只是去调用了函数myname,但是因为另外一个函数mycountry是作为这个函数的装饰器存在,所以这个函数在调用时也通用会执行这个装饰器函数 。而不带参数的实际原因是在于,country函数在调用时就会将下面的name函数作为参数传入进去 。
二、带参数
那么带参数就很容易理解了,这里的带参数不是说在装饰器后面加上括号并写形参 。而是只有装饰器修饰的函数在调用是传入参数进去,那么因为整个函数都会作为装饰器参数,所以在执行该函数时就会连同值一起传入到装饰器之中,详细代码示例如下所示:
def mycountry(m): country = "china" print(country) def myb(bb): m(bb) print("y") return myb@mycountrydef myname(b): name = "choei" print(name) print("a :",b) return namemyname("boy")【Python函数装饰器使用语法是什么?Python函数装饰器使用教程】以上就是关于“Python函数装饰器使用语法是什么?Python函数装饰器使用教程”的全部内容了,希望对你有所帮助 。
推荐阅读
- 如何正确高效地安装Python第三方库?Python第三方库的安装方法有哪些?
- Python程序怎么打包分发?Python打包分发程序详细教程
- Python窗口大小怎么修改?Tkinter窗口大小如何不可改变
- Tkinter窗口设置滚动条怎么做?Python如何给Tkinter窗口添加滚动条
- python字典中的fromkeys是什么?python中fromkeys()函数的基本用法
- Python如何处理异常报错?Python处理异常报错的方法
- python中的对数是怎么表示的?python中的对数log函数表示及用法
- Python枚举类型可以比较大小吗?Python3枚举类比较有什么限制?
- 数学知识:三角函数计算公式大全
- 数学知识:三角函数极限公式大全