python中行首的@运算符[重复]
Posted
技术标签:
【中文标题】python中行首的@运算符[重复]【英文标题】:@ operator at the beginning of the line in python [duplicate] 【发布时间】:2019-01-15 16:09:34 【问题描述】:我试图了解这个运算符 @, 在 python 中的用途。 我看到了一些关于矩阵乘法的东西,但肯定不是这样,我举个例子:
@property
def num_reserved_ids(self):
return 0
或者:
@registry.register_problem()
class LibrispeechNoisy(Librispeech):
最后一个:
@registry.register_hparams
def transformer_librispeech_tpu_v1():
"""HParams for training ASR model on Librispeech on TPU v1."""
hparams = transformer_librispeech_v1()
update_hparams_for_tpu(hparams)
注册表是程序中使用的另一个文件。register_hparams 是里面的一个函数。 不知道什么是“属性”,但即使是我知道它是什么的注册表,我也无法理解操作员的目的:@,我有点慢,对此感到抱歉:/ ..
如果有人想查找更多代码,您可以查看 tensor2tensor 库: https://github.com/tensorflow/tensor2tensor/tree/master/tensor2tensor
【问题讨论】:
它被称为 decorator 但你的例子有点多样化,我想如何回答这个问题。numpy
使用@
作为矩阵乘号。标准 Python 将其用于decorators。
我不是故意复制的,如果这就是你所说的,我搜索了,没有任何返回,但是感谢另一个信息来源。
@albert1905 没有人建议您这样做,请不要将重复视为您做错了什么的迹象。您发现了一些问题的不同措辞方式,因此它将作为正确解释的路标:) 现在,Google 搜索中的不同单词组合更有可能让某人得到他们想要的答案。
【参考方案1】:
我认为您正在寻找的东西称为 PythonDecorators
这里是Wiki For Python Decorators
Python 装饰器是对 Python 语法的特定更改,它允许我们更方便地更改函数和方法(可能还有未来版本中的类)。这支持 DecoratorPattern 更具可读性的应用程序,但也支持其他用途。
了解它们的最好方法是来自Corey Schafer's Video on Python Decorators
【讨论】:
以上是关于python中行首的@运算符[重复]的主要内容,如果未能解决你的问题,请参考以下文章