да не, там просто код бредовый или не полный так, как в 4-й и 5-й строчках он работает с разными обьектами. если сделать код вменяемым (применив немного телепатии), то все работае как, наверное, и ожидалось:Код | import sys
class Object: def __init__(self, name): self.name = name self.listOfSomething = [] def __repr__(self): return "{name=%s, list=%s}\\r\n" % (self.name, str(self.listOfSomething))
def createObject(name): return Object(name)
if __name__ == "__main__": listOfObjects = [] for objectId in xrange(5): testObject = createObject("test-object-" + str(objectId)) testObject.listOfSomething.append(objectId) listOfObjects.append(testObject) print listOfObjects sys.exit(0)
|
То будет видно что заполняются списки у всех обьектовКод | [{name=test-object-0, list=[0]} , {name=test-object-1, list=[1]} , {name=test-object-2, list=[2]} , {name=test-object-3, list=[3]} , {name=test-object-4, list=[4]} ] |
Если добавить еще телепатии и убрать опечатку в форе, то там наверное косяк в реализации класса |