首页 > 解决方案 > @ 在 Python 3 中的函数上方是什么意思?

问题描述

我正在查看 skywriter HAT 的一些示例代码。在那里的示例代码中,他们有这个:

@skywriter.move()
def move(x, y, z):
    print( x, y, z )

函数上方的@是什么意思?这是否意味着无论何时skywriter.move()调用它都会执行move()传递参数x, y, 并且z是从返回的skywriter.move()

标签: python-3.xfunctioncallbackraspberry-pi

解决方案


它是一个装饰器......基本上是一个以某种方式改变函数行为的包装器。有关更多信息,请访问谷歌“python 装饰器”。

这里有一些很好的信息:https ://wiki.python.org/moin/PythonDecorators


推荐阅读