Привет! Да, у меня была следующая задача: мне нужно было разобрать кучу данных и систематизировать их по классам, а затем загрузить в базу данных.
Вроде бы ничего сложного, но в тот день я даже поесть забыл, а почему – смотрите под катом, ведь я был занят.
Данных, конечно, было много, но это никак не усложняло задачу; это было осложнено тем, что один и тот же элемент можно было найти в разных уголках сайта.
Эти данные можно сравнить с аккаунтами в социальных сетях.
Один и тот же аккаунт может оставить свой след везде — ставить лайки на разных страницах, везде писать комментарии, вешать что-то на стену разным людям.
Причем необходимо, чтобы все это было одним и тем же объектом в нашей программе и чтобы оно никак не дублировалось.
Кажется, все просто, проверьте сами, найден ли уже этот элемент – и все.
Но это нехорошо, это неправда.
И это противоречит философии Python. Мне хотелось красивого решения, чего-то, что просто запрещало бы создание уже существующего элемента или просто не создавало бы его, игнорировало бы всю инициализацию, а внутренний конструктор возвращал бы уже существующий элемент. Позволь мне привести пример.
Например, у меня есть сущность.
Теги: #python #ООП #Ненормальное программирование #python #ООПclass Animal:
-
Как Узнать Посещаемость 3,8 Млн Сайтов
19 Oct, 24