python里的def 方法中->代表什么意思?


功能注釋

函數注釋是關於用戶定義函數使用的類型的完全可選元數據信息(請參閱PEP 3107和 PEP 484了解更多信息)。

注釋__annotations__ 作為字典存儲在函數屬性中,對函數的任何其他部分都沒有影響。參數注釋由參數名稱后面的冒號定義,后跟一個表達式,用於評估注釋的值。返回注釋由->參數列表和冒號表示def語句結尾之間的文字,后跟表達式定義以下示例具有位置參數,關鍵字參數和注釋的返回值:

def f(ham: str, eggs: str = 'eggs') -> str:
    print("Annotations:", f.__annotations__)
    print("Arguments:", ham, eggs)
    return ham + ' and ' + eggs


f('spam')

# Annotations: {'ham': <class 'str'>, 'eggs': <class 'str'>, 'return': <class 'str'>}
# Arguments: spam eggs

 

我們可以發現

-> 主要是標記返回值數據類型;

拿上面例子來說,在函數f中,標記參數hamstr類型eggsstr類型;return的值為->后面標記的類型str

這樣寫的話,我們光看代碼就可以知道該方法返回什么類型的數據,而不需要去調試。

 

但是如果指定不一致呢,比如說,我們標記f的返回結果為int,但是實際結果卻是str。

此時,開發工具里面應該會報錯,提示返回值不對,但是程序照樣正常運行,不會拋異常。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM