Отслеживание экземпляров класса для коллекции переменных
Ведение списка экземпляров для определенного класса позволяет эффективно извлекать определенные переменные из каждого экземпляра в более поздний этап программы.
Подход с использованием переменных класса
Подходящим методом отслеживания экземпляров класса является использование переменной класса. Следующий пример иллюстрирует этот подход:
class Foo: instances = [] def __init__(self): self.x = {} Foo.instances.append(self)
Этот метод создает экземпляры общего списка внутри класса. При создании каждого экземпляра он добавляется в список.
Извлечение переменных экземпляра
Чтобы собрать x словарей из всех экземпляров в конце программы, создайте новый словарь:
foo_vars = {id(instance): instance.x for instance in Foo.instances}
Здесь id() предоставляет уникальные идентификаторы для каждого экземпляра, позволяя создавать словарь с идентификаторами экземпляров в качестве ключей и словарями x в качестве значений.
Общий список
Подход с использованием переменных класса гарантирует, что во всех экземплярах поддерживается только один список, экземпляры, независимо от их количества. Это избавляет от необходимости отслеживать отдельные списки для каждого экземпляра.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3