我有一个类,在它的init中接受int或float,但都必须是int或float,所以我使用typing.overload
来实现这一点,我希望能够根据给定的值输入hint函数的返回值.
class Vector3:
@overload
def __init__(self, x: int, y: int, z: int) -> None:
...
@overload
def __init__(self, x: float, y: float, z: float) -> None:
...
def __init__(self, x, y, z) -> None:
self._x = x
self._y = y
self._z = z
# This function
def __key(self) -> tuple[int | float, int | float, int | float]:
return (self._x, self._y, self._z)
另外,我应该如何输入提示x、y和z的值?我计划使用@property
来混淆_x、_y、_z值,我也不知道如何输入hint它们.
@property
def x(self) -> int | float:
return self._x