我不确定应该把什么放在类定义的顶层。
以下是代码:
class MyClass(object):
print("Here's the top level code in this class")
def __new__(cls):
print("Code in __new__ function")
return super(Test, cls).__new__(cls)
def __init__(self):
print("Code in __init__ function")
return
我应该在顶级代码中添加什么代码?是否有任何我无法放入__new__
和__init__
的内容?划分这些代码的最佳做法是什么?
答案 0 :(得分:0)
类级别变量,即所有类实例共享的变量位于顶级
class MyClass(object):
instance_count = 0
def __init__(self):
MyClass.instance_count += 1
def __del__(self):
MyClass.instance_count -= 1
例如。
>>> MyClass.instance_count
0
>>> mc = MyClass()
>>> MyClass.instance_count
1
>>> del mc
>>> MyClass.instance_count
0