如果我上课Foo ......
class Foo(object):
bar = True
调用Foo.bar
实例化一个Foo类型的对象,立即收集垃圾?
我是否必须在Foo和bar之间包含()
来创建该类型的实例?
如果我确实需要括号,他们会用什么方法调用? __init__()
?
答案 0 :(得分:1)
调用Foo.bar实例化一个Foo类型的对象,立即收集垃圾?
没有。您已在此处将Foo.bar
定义为类属性,而不是实例属性。
我是否必须在Foo和bar之间包含()来创建该类型的实例?
是的,调用Foo()
是创建Foo
对象的正确语法。
如果我确实需要括号,他们会采用什么方法?
__init__()
?
将调用第一个__new__
(可能来自超类object
)实际创建新对象,然后将调用__init__
来初始化已存在的对象。