python class 方法接收其 class 的对象

python class method that receives an object of its class

我想创建一个 Square class,它具有计算与另一个 Square 的距离的方法。我是这样定义它的:

class Square:
    def __init__(self, _x: int, _y: int):
        self.x = _x
        self.y = _y

    def distance(self, _other_square: Square) -> int:
        pass

_other_squareSquare 类型的对象。 这给了我一个 Unresolved reference 'Square' 错误。

有办法绕过它吗?

将函数定义更改为:

def distance(self, _other_square: 'Square') -> int:
        pass

类型提示现在是一个 str 实例,它将在加载模块后解析,因此定义了 Square 类型。 See here for all details.