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