Существует несколько потоков по сборке мусора в Python в SO, и после прочтения около пяти, плюс некоторый документ в режиме онлайн, я все еще не уверен, как работает сборка мусора и как я должен управлять объектами, которые я не использую.Фактически, где-то, что я читаю, никто не должен ничего делать со сборщиком мусора, другие говорят, что нужно del
объекты, в то время как другие снова объясняют, что разыменование объекта достаточно для Python, чтобы собрать его как мусор.
Итак,рискуя создать дубликат, я снова задам вопрос, но по-другому, в надежде получить более полную и четкую информацию.
В моем случае я хочу провести небольшую имитацию с объектами, представляющими людей.Будет создано несколько экземпляров класса Person()
.Он должен существовать в течение некоторого времени, пока он фактически не «умрет», в то время как другие экземпляры будут созданы.
Теперь, как мне сделать этот Person()
экземпляр «умершим» (при условии, что многие из этих экземпляров будут созданы, и яне хотите, чтобы эти экземпляры зависали как призраки)?
Есть несколько способов, которыми я могу ссылаться на объект:
john = Person('john')
или
people = []
people.append(Person('john'))
или
people = {}
people['john'] = Person('john')
Как лучше всего содержать мою программу в чистоте, оптимально высвобождая ресурсы?И каков наилучший способ ссылки на мой объект, чтобы я мог контролировать удаление объекта?