Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- print(getattr(color_1, 'opacity'))
- if hasattr(color_1, 'name'):
- print("Есть")
- name = "name_1"
- setattr(color_1, '121212' + name, "12")
- color_1.sd = 12
- print(color_1.__dict__)
- print(color_1.__dict__)
- delattr(color_1, 'name')
- print(color_1.__dict__)
- getattr(object, name, default) – возвращает значение с-ва объекта. Object – объект, name – имя с-ва, default – значение которое вернется если такого с-ва нет.
- hasattr(object, name) – проверяет на наличие атрибута name в object.
- setattr(object, name, value) – устанавливает новый атрибут в object по имени name со значением value.
- delattr(object, name) – удаляет атрибут с именем name в объекте object.
- @staticmethod – декоратор, который изолирует метод от свойств и методов класса, а также от экз класса. Исп, когда метод нужно вызвать из класса, но не предполагается использование в нем свойств класса. У этого метода отсутствует обязательный аргумент self.
- Про приватные свойства:
- Приватные свойства создаются с префиксом класса, в котором они созданы. Чтобы обратиться к приватному свойству в более дочерних классах, нужно написать _Класс__свойство.
- Но лучше создать геттер в родительском классе и общаться к методу, а не к с-ву.
- Методы тоже могут быть приватными
- #################################################################################################################
- def mark_as_done(self):
- pass
- Вы работаете над программой для управления задачами в проекте. Вам необходимо создать класс Task, который представляет собой отдельную задачу в проекте. У задачи должны быть следующие атрибуты: название, описание, дата создания и статус (выполнена или невыполнена).
- Ваша задача:
- Создайте класс Task с указанными атрибутами.
- Реализуйте методы класса:
- Метод init(), который будет принимать аргументы для инициализации атрибутов объекта.
- Метод mark_as_done(), который будет изменять статус задачи на "выполнена".
- Метод mark_as_undone(), который будет изменять статус задачи на "невыполнена".
- Метод display(), который будет выводить информацию о задаче в следующем формате:
- "Задача: <название>
- Описание: <описание>
- Дата создания: <дата создания>
- Статус: <статус>"
- Создайте несколько объектов класса Task и продемонстрируйте их использование.
- Пример использования:
- task1 = Task("Подготовить презентацию", "Подготовить презентацию для важной встречи", "2023-05-20")
- task2 = Task("Отправить отчет", "Отправить ежемесячный отчет по продажам", "2023-05-21")
- task1.display()
- Вывод:
- Задача: Подготовить презентацию
- Описание: Подготовить презентацию для важной встречи
- Дата создания: 2023-05-20
- Статус: невыполнена
- task1.mark_as_done()
- task1.display()
- Вывод:
- Задача: Подготовить презентацию
- Описание: Подготовить презентацию для важной встречи
- Дата создания: 2023-05-20
- Статус: выполнена
- task2.display()
- Вывод:
- Задача: Отправить отчет
- Описание: Отправить ежемесячный отчет по продажам
- Дата создания: 2023-05-21
- Статус: невыполнена
- Обратите внимание, что дата создания задачи передается в виде строки в формате "YYYY-MM-DD". Вы можете использовать встроенный модуль datetime для работы с датами, если необходимо.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement