只是一个简单的问题,
有人可以将我链接到使用@在python中的文档吗?
由于无法使用谷歌@并且不知道它的用途或名称,我不确定如何自己找到它:)
非常感谢!!
答案 0 :(得分:8)
以“@”开头的符号(例如@staticmethod)在Python行话中称为“装饰器”。
您可以找到描述它们的PEP at this url。
简而言之,它们是用于在被装饰对象上调用函数的语法糖,例如:
@staticmethod
def myfunc(...): ...
相当于:
def myfunc(...): ...
myfunc = staticmethod(myfunc)
然后,在网上搜索“python decorator”将为您提供许多其他有用的信息和用例。
希望它有所帮助,ciao
答案 1 :(得分:4)
答案 2 :(得分:2)
Google python decorator
,你会找到足够的问题答案。
答案 3 :(得分:0)
正如其他人所说,他们是装饰者。它们将装饰对象作为参数并返回一个新对象 - 通常应该与初始对象(函数或类)的类型相同
如果你不喜欢at语法,你可以像这样写:
@foo
def bar():
pass
# is the same as:
def bar():
pass
bar = foo(bar)