【发布时间】:2020-09-25 22:57:35
【问题描述】:
1) __init__(self) -> None: 和 2) __init__(self): 有什么区别?
class A:
def __init__(self) -> None:
self.a = 5
class B:
def __init__(self):
self.a = 5
print (" A : ", A().a)
print (" B : ", B().a)
【问题讨论】:
-
在运行时,什么都没有。类型提示仅供外部工具使用。
-
-> None语法是打字机制的一个例子。它说__init__方法返回None,__init__方法本身也是如此,即使在创建类实例时调用新的类实例也是如此。您可以阅读有关打字系统here 的信息。 Python 运行时环境不强制执行类型信息,因此您可以将它们视为具有定义语法的专用 cmets。 -
@chepner 和“Tom Karzes,非常感谢您的回复,我明白了。我现在明白了。
标签: python