python-3.x - @ 在 Python 3 中的函数上方是什么意思?
问题描述
我正在查看 skywriter HAT 的一些示例代码。在那里的示例代码中,他们有这个:
@skywriter.move()
def move(x, y, z):
print( x, y, z )
函数上方的@是什么意思?这是否意味着无论何时skywriter.move()
调用它都会执行move()
传递参数x
, y
, 并且z
是从返回的skywriter.move()
?
解决方案
它是一个装饰器......基本上是一个以某种方式改变函数行为的包装器。有关更多信息,请访问谷歌“python 装饰器”。
推荐阅读
- html - Bootstrap Carousal 在我的代码中不起作用
- reactjs - Antd Form.List如何添加验证规则
- css - cdkDragPreview 和 cdkDragPlaceholder 不能按预期使用水平元素
- matlab - 如何在matlab中绑定3个变量的总和
- image - Copy\Move Image resize to the original image size VBS\BAT?
- .net - 在图片框中切换图像
- .net - .NET Framework 和 .NET Standard 依赖问题
- java - 如何禁用特定端点的身份验证?
- javascript - 无法使用 javascript 提交表单
- php - Laravel - 与模型观察者就一对多关系发送电子邮件