【发布时间】:2016-07-17 03:52:47
【问题描述】:
我目前正在创建一个 Python 线性代数模块,以供娱乐和练习该语言。我最近尝试在模块中添加类型注释,例如:
class Vector:
# Various irrelevant implementation details
def __add__(self, other: Vector) -> Vector:
# More implementation details....
但是,当我尝试导入它时,它会吐出一个NameError: Name 'Vector' is not defined。我承认已经以here 的形式回答了这个问题,但它似乎并不能完全为我的情况提供答案。
我想知道的:
- 我已经在这个文件中定义了这个类。为什么它说名称未定义?
- 如何定义
Vector,使其可用于注释(作为type)?
【问题讨论】:
-
请将您的帖子限制为每个帖子一个问题。这里有两个不同的问题,一个是关于循环依赖(类的方法取决于创建之前的类),以及类型和类之间的区别。后者是重复的。
-
请参阅Class vs. Type in Python,了解我从您的帖子中删除的部分问题。
-
对不起。我认为类型问题与手头的问题有关。
标签: python python-3.x type-hinting python-typing