2016-04-25 44 views
4

我很不清楚“operator”->用于创建函数时的功能。python - >“operator”用于定义函数

像:

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

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

我试图寻找,但我不知道什么是“经营者”被称为或者如果运营商所有,并使用->而搜索并没有真正工作:(

+0

注解不会“做”任何事情,真的。至少不是现在。 –

+0

' - >'是用于函数返回值的[Type Hinting](https://www.python.org/dev/peps/pep-0484/#type-definition-syntax)的语法。 – AKS

回答

6

您正在寻找功能注释,他们不是专门针对property个对象。使用注解可以将任意信息附加到函数中; -> [expression]部分给出关于该函数的返回值的信息。该语法是在Python 3.0中添加的。

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

您可以随时看一下Python的参考文档,搜索特定的语法中,Full Grammar Specification应该帮你找到funcdef规则包含->语法和搜索的文件,然后指向Function definitions section

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

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

+0

非常感谢你,这只是我一直在寻找的信息。 – JoYiDer