python->“运算符”用于定义函数[重复]

Posted

技术标签:

【中文标题】python->“运算符”用于定义函数[重复]【英文标题】:python -> "operator" for defining functions [duplicate] 【发布时间】: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 函数返回值的语法。 【参考方案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

【讨论】:

非常感谢,这正是我正在寻找的信息。

以上是关于python->“运算符”用于定义函数[重复]的主要内容,如果未能解决你的问题,请参考以下文章

类型的打字稿传播运算符[重复]

〜运算符在Python中做了啥[重复]

每个构造函数,方法和运算符重载的c ++多重定义错误[重复]

在python中使用或运算符[重复]

Python的+=运算符和列表[重复]

增量运算符 ++i 不会在 python 中导致错误 [重复]