class Car:
pass
class Car():
pass
这两者有什么区别? 而且,
a = Car
a = Car()
另外,这两者之间有什么区别?
最好的问候
答案 0 :(得分:8)
第一个语句,a = Car
只会使a
成为Car
类的别名。因此,在您执行此操作后,您可以执行b = a()
,它与b = Car()
在最后附加()
后,它会使python实际初始化类(__call__
或只是初始化,但你不必担心),并且变成了
由Car()
返回,在这种情况下,它是类实例。
至于class Car:
和class Car():
之间的差异。第二个是无效的语法(编辑:在2.5之前,我仍然会说这是一种糟糕的风格,因为如果你没有继承它就没有理由存在)。你有括号的原因是你需要继承另一个类。
答案 1 :(得分:1)
在第一个片段中,后者在旧版本的Python中是无效的语法。
在第二个片段中,前者绑定对类的引用,后者绑定对类的新实例的引用。