【问题标题】:python -> "operator" for defining functions [duplicate]python->“运算符”用于定义函数[重复]
【发布时间】:2016-08-18 19:58:45
【问题描述】:

我很不清楚“运算符”-> 在用于创建函数时做了什么。

喜欢:

def create(self) -> None:
    raise NotImplementedError("It should be implemented specifically for your backend")

@property
def to(self) -> Identifier:
    return self._to

我尝试过搜索,但我不知道“运算符”被称为什么,或者根本不知道它是否是运算符,并且在搜索时使用 -> 并不起作用:(

【问题讨论】:

  • 注解实际上并没有“做”很多事情。至少目前还没有。
  • -> 是用于Type Hinting 函数返回值的语法。

标签: python


【解决方案1】:

您正在查看函数注释。它们并不特定于 property 对象。注释让您可以将任意信息附加到函数; -> [expression] 部分提供有关函数的返回值 的信息。该语法是在 Python 3.0 中添加的。

在 Python 3.5 中,语言库中添加了类型提示的标准,它使用函数注释将类型信息对象附加到函数的参数和返回值。

您始终可以查看 Python 参考文档以搜索特定语法,Full Grammar Specification 应该可以帮助您找到包含 -> 语法的 funcdef 规则,然后搜索文档会指向 @ 987654322@:

参数可以在参数名称后面有“: expression”形式的注释。任何参数都可以有注释,即使是*identifier**identifier 形式的注释。函数可能在参数列表之后具有“-> expression”形式的“返回”注释。这些注释可以是任何有效的 Python 表达式,并在执行函数定义时进行评估。

有关语法建议,请参阅PEP 3107 – Function annotations,有关在添加类型提示时如何使用它们的信息,请参阅PEP 484 – Type Hints

【讨论】:

  • 非常感谢,这正是我正在寻找的信息。
猜你喜欢
  • 2011-06-09
  • 2013-07-13
  • 1970-01-01
  • 1970-01-01
  • 2011-04-26
  • 1970-01-01
  • 2013-08-15
  • 1970-01-01
  • 2012-07-12
相关资源
最近更新 更多