Я создаю программу python, которая будет работать с тысячами объектов python. Мне любопытно, что является самым изящным способом их организации, и я также не понимаю, когда что-то копируется в python.Работа с большим количеством объектов в программе Python
Например, если у меня есть объект-менеджер, который имеет список тысяч объектов, но он также имеет словарь с ключами для каждого из этих тысяч объектов, существуют ли объекты в два раза в памяти? Если бы я изменил свойства объекта в списке, изменит ли он также свойства соответствующего объекта в dict?
Я не могу найти много хорошего чтения об этом, поэтому, если бы кто-то мог указать мне в правильном направлении, это было бы полезно.
Вот что я имею в виду:
class Manager():
def __init__(self,list_of_objects):
self.myobjects = []
self.myobjectsdict= {}
self.myobjects = list_of_objects
for object in self.myobjects:
self.myobjectsdict[object.name] = object
Тогда, если бы я, чтобы создать второй объект менеджера и дать ему некоторые из объектов первого менеджера, они были бы копии? Или изменения, внесенные вторым менеджером, применимы к объектам, связанным с первым? Например, что происходит здесь:
manager2 = Manager(manager1.myobjects[5000:10000])
manager2.myobjects[71].name = "newname"
Изменено ли имя для этого объекта у первого менеджера? Будет ли ключ ключа еще старым именем?
И, наконец, список или тик тысяч объектов действительно лучший способ организовать множество объектов python, или есть лучший способ, с которым я не сталкивался? Большое спасибо за любую помощь.
Похоже, вы приближаетесь к необходимости базы данных, ORM и классов. –