Можно ли обратиться к безымянному экземпляру класса (например по id объекта) в Python?
Не совсем понимаю, как обратиться к безымянному экземпляру класса (например, при создании этого экземпляра в цикле). Как потом взаимодействовать с такими экземплярами (изменять атрибуты, применять к ним методы класса)?
К примеру:
class Task:
def __init__(self, day, month, year, title):
self.day = day
self.month = month
self.year = year
self.title = title
for instance in range(6):
x = 1
Task(day=x, month=3, year=2020, title='bla-bla')
x += 1
Так, тут должны создаться 5 экземпляров класса Task с разными атрибутами day, но я не знаю как к ним обратиться, и как с ними взаимодействовать. Пожалуйста, подскажите, имеется ли какое-то простое решение
Ответы (2 шт):
Чтоб обратиться к объекту - на него нужна ссылка.
Если ссылки нет - этот объект вскоре удалится.
Ссылку можно положить в переменную или в список или передать другой функции параметром.
Положите объекты Task в список или в словарь (если нужен доступ к задаче по ключу).
Пример для списка:
class Task:
def __init__(self, day, month, year, title):
self.day = day
self.month = month
self.year = year
self.title = title
task_list = []
for x in range(6):
task = Task(day=x+1, month=3, year=2020, title='bla-bla')
task_list.append(task)
print(len(task_list), task_list)
# После можно через цикл обратиться к задачам и что-то сделать
for task in task_list:
task.run()