0
我想維護A和B對象的計數,B是從A繼承而來的。因此計數應該是特定於A和B.例如,如果我創建3個A對象並且2 B對象,由於構造函數調用,計數A變爲3 + 2 = 5,但我想保留爲3(不作爲B的一部分用作子對象時)。在下面的代碼片段請評論:Python中完整對象和子對象的計數
class A:
acount = 0 # class variable
def __init__(self, isFullA = True):
if (isFullA):
self.iamFullA = True
A.acount += 1
else:
self.iamFullA = False
def __del__(self):
if (self.iamFullA):
A.acount -= 1
class B(A):
bcount = 0 # class variable
def __init__(self, isFullB = True):
A.__init__(self,False)
if (isFullB):
self.iamFullB = True
B.bcount += 1
else:
self.iamFullB = False
def __del__(self):
if (self.iamFullB):
B.bcount -= 1
#MAIN
L=[]
for i in range(3):
L.append(A())
for i in range(2):
L.append(B())
print "A.acount = " + str(A.acount)
print "B.bcount = " + str(B.bcount)
輸出是:
A.acount = 3
B.bcount = 2
那麼,什麼是你的問題?如果您只想要查看代碼,請訪問http://codereview.stackexchange.com/。 – Holt
如果isinstance(self,A):A.acount + = 1'? – Pynchia