0
我是python的新手,所以我現在很困惑。我只想在循環中創建一些類MyClass的實例。Python在循環中創建類實例
我的代碼:
for i in range(1, 10):
my_class = MyClass()
print "i = %d, items = %d" % (i, my_class.getItemsCount());
my_class.addItem(i)
MyClass類
class MyClass:
__items = []
def addItem(self, item):
self.__items.append(item)
def getItemsCount(self):
return self.__items.__len__();
,輸出是:
i = 0, items = 0
i = 1, items = 1
i = 2, items = 2
and so on...
但我希望MyClass的新的空實例在每次迭代變量my_class。所以預期的輸出是:
i = 0, items = 0
i = 1, items = 0
i = 2, items = 0
你能幫我理解嗎? 謝謝。
'__items'是一個類成員,不是實例成員。它在'MyClass'的所有實例之間共享。 – juanchopanza
避免使用雙下劃線,它僅在罕見的繼承情況下才有用。使用'len'函數而不是'__len__'-Method,例如'LEN(self._item)' – Daniel