【发布时间】:2019-10-20 05:55:37
【问题描述】:
有什么区别?
myVar: myCustomClassType
对比
myVar: myCustomClassType = None
我之所以这么问,是因为 Pycharm 检查员对后者大喊大叫:
Expected type 'myCustomClassType', got 'None' instead
我知道 None 也是一个对象,因此这个检查表明存在类型冲突。 我的问题是哪种形式更好?
【问题讨论】:
-
None 确实是一个对象(就像 Python 中的所有内容一样),但不是 myCustomClassType 实例。
-
为什么会令人惊讶?你不妨写
foo: int = "bar"。 -
什么是“更好”取决于你想要达到什么。我不知道您为什么要使用类型注释变量,然后将其绑定到另一个不兼容类型的实例。但你可能有充分的理由这样做。你有吗?
-
Goyo:初始化...?我一直喜欢初始化,但在这种情况下/上下文可能我错了。