Advertisement
SomeBody_Aplle

Untitled

Aug 7th, 2023
152
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.90 KB | None | 0 0
  1. print(getattr(color_1, 'opacity'))
  2. if hasattr(color_1, 'name'):
  3. print("Есть")
  4.  
  5. name = "name_1"
  6. setattr(color_1, '121212' + name, "12")
  7. color_1.sd = 12
  8. print(color_1.__dict__)
  9.  
  10. print(color_1.__dict__)
  11. delattr(color_1, 'name')
  12. print(color_1.__dict__)
  13.  
  14.  
  15.  
  16. getattr(object, name, default) – возвращает значение с-ва объекта. Object – объект, name – имя с-ва, default – значение которое вернется если такого с-ва нет.
  17. hasattr(object, name) – проверяет на наличие атрибута name в object.
  18. setattr(object, name, value) – устанавливает новый атрибут в object по имени name со значением value.
  19. delattr(object, name) – удаляет атрибут с именем name в объекте object.
  20.  
  21. @staticmethod – декоратор, который изолирует метод от свойств и методов класса, а также от экз класса. Исп, когда метод нужно вызвать из класса, но не предполагается использование в нем свойств класса. У этого метода отсутствует обязательный аргумент self.
  22.  
  23.  
  24. Про приватные свойства:
  25. Приватные свойства создаются с префиксом класса, в котором они созданы. Чтобы обратиться к приватному свойству в более дочерних классах, нужно написать _Класс__свойство.
  26. Но лучше создать геттер в родительском классе и общаться к методу, а не к с-ву.
  27. Методы тоже могут быть приватными
  28.  
  29.  
  30. #################################################################################################################
  31.  
  32. def mark_as_done(self):
  33. pass
  34.  
  35. Вы работаете над программой для управления задачами в проекте. Вам необходимо создать класс Task, который представляет собой отдельную задачу в проекте. У задачи должны быть следующие атрибуты: название, описание, дата создания и статус (выполнена или невыполнена).
  36.  
  37. Ваша задача:
  38.  
  39. Создайте класс Task с указанными атрибутами.
  40. Реализуйте методы класса:
  41. Метод init(), который будет принимать аргументы для инициализации атрибутов объекта.
  42. Метод mark_as_done(), который будет изменять статус задачи на "выполнена".
  43. Метод mark_as_undone(), который будет изменять статус задачи на "невыполнена".
  44. Метод display(), который будет выводить информацию о задаче в следующем формате:
  45. "Задача: <название>
  46. Описание: <описание>
  47. Дата создания: <дата создания>
  48. Статус: <статус>"
  49. Создайте несколько объектов класса Task и продемонстрируйте их использование.
  50. Пример использования:
  51.  
  52. task1 = Task("Подготовить презентацию", "Подготовить презентацию для важной встречи", "2023-05-20")
  53. task2 = Task("Отправить отчет", "Отправить ежемесячный отчет по продажам", "2023-05-21")
  54.  
  55. task1.display()
  56.  
  57. Вывод:
  58. Задача: Подготовить презентацию
  59. Описание: Подготовить презентацию для важной встречи
  60. Дата создания: 2023-05-20
  61. Статус: невыполнена
  62. task1.mark_as_done()
  63. task1.display()
  64.  
  65. Вывод:
  66. Задача: Подготовить презентацию
  67. Описание: Подготовить презентацию для важной встречи
  68. Дата создания: 2023-05-20
  69. Статус: выполнена
  70. task2.display()
  71.  
  72. Вывод:
  73. Задача: Отправить отчет
  74. Описание: Отправить ежемесячный отчет по продажам
  75. Дата создания: 2023-05-21
  76. Статус: невыполнена
  77. Обратите внимание, что дата создания задачи передается в виде строки в формате "YYYY-MM-DD". Вы можете использовать встроенный модуль datetime для работы с датами, если необходимо.
  78.  
  79.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement