Python 中使用型別提示來指示變數的預期型別或函數的回傳值。它們提供了一種記錄程式碼預期行為的方法,並可以幫助及早捕獲錯誤。
問題陳述:
您在Python 3 中有以下程式碼:
class Position: def __init__(self, x: int, y: int): self.x = x self.y = y def __add__(self, other: Position) -> Position: return Position(self.x + other.x, self.y + other.y)
但是,您的編輯器(PyCharm) 會標記一個錯誤,表示在類型提示中對Position 的參考__add__ 無法解析。這就提出了一個問題:如何指定回傳類型應該是 Position 類型?
解決方案:
在Python 中,類型提示主要有三種方法具有其封閉類型類型的方法,取決於您使用的Python 版本:
Python 3.11 :
from typing import Self class Position: def __add__(self, other: Self) -> Self: ...
帶有 from __future__ 導入註解的 Python 3.7:
from __future__ import annotations class Position: def __add__(self, other: Position) -> Position: ...
Python 3.和早期:
class Position: def __add__(self, other: 'Position') -> 'Position': ...
說明:
預編譯要求:
預編譯要求:
在3.7 之前的Python在版本中,類型提示中使用字串需要定義所引用的類別在類型註解中使用之前。否則,您將遇到 NameError。
注意事項:以上是如何在 Python 中使用封閉類別類型來型別提示方法?的詳細內容。更多資訊請關注PHP中文網其他相關文章!