2016-04-25 55 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