В настоящее время я работаю над созданием модуля линейной алгебры python для удовольствия и для практики с языком. Недавно я попытался добавить аннотации типа к модулю, как таковые:
class Vector:
# Various irrelevant implementation details
def __add__(self, other: Vector) -> Vector:
# More implementation details....
Однако, когда я пытаюсь импортировать это, он выплевывает NameError: Name 'Vector' is not defined
. Я признаю, что на этот вопрос уже был дан ответ в форме здесь, но он, похоже, не дает полного ответа на мою ситуацию.
Что я хотел бы знать:
- Я определил класс буквально в этом файле. Почему это имя не определено?
- Как определить
Vector
таким образом, чтобы его можно было использовать для аннотаций (какtype
)?