👨🏻💻 Курс: Объектно-ориентированное программирование Python.
• Объектно-ориентированное программирование (ООП) — парадигма программирования, в которой основными концепциями являются понятия объектов и классов.
• Класс — тип, описывающий устройство объектов. Объект — это экземпляр класса. Класс можно сравнить с чертежом, по которому создаются объекты.
• Python соответствует принципам объектно-ориентированного программирования. В python всё является объектами - и строки, и списки, и словари, и всё остальное.
• Но возможности ООП в python этим не ограничены. Программист может написать свой тип данных (класс), определить в нём свои методы.
• Это не является обязательным - мы можем пользоваться только встроенными объектами. Однако ООП полезно при долгосрочной разработке программы несколькими людьми, так как упрощает понимание кода.
• Концепция ООП простыми словами;
• 1. Классы и объекты. Атрибуты классов и объектов;
• 2. Методы классов. Параметр self;
• 3. Инициализатор __init__ и финализатор __del__;
• 4. Магический метод __new__. Пример паттерна Singleton;
• 5. Методы класса (classmethod) и статические методы (staticmethod);
• 6. Режимы доступа public, private, protected. Сеттеры и геттеры;
• 7. Магические методы __setattr__, __getattribute__, __getattr__ и __delattr__;
• 8. Паттерн "Моносостояние";
• 9. Свойства property. Декоратор property;
• 10. Пример использования объектов property;
• 11. Дескрипторы (data descriptor и non-data descriptor);
• 12. Магический метод __call__. Функторы и классы-декораторы;
• 13. Магические методы __str__, __repr__, __len__, __abs__;
• 14 Магические методы __add__, __sub__, __mul__, __truediv__;
• 15. Методы сравнений __eq__, __ne__, __lt__, __gt__ и другие;
• 16. Магические методы __eq__ и __hash__;
• 17. Магический метод __bool__ определения правдивости объектов;
• 18. Магические методы __getitem__, __setitem__ и __delitem__;
• 19. Магические методы __iter__ и __next__ ;
• 20. Наследование в объектно-ориентированном программировании;
• 21. Функция issubclass(). Наследование от встроенных типов и от object;
• 22. Наследование. Функция super() и делегирование;
• 23. Наследование. Атрибуты private и protected;
• 24. Полиморфизм и абстрактные методы;
• 25. Множественное наследование;
• 26. Коллекция __slots__;
• 27. Как работает __slots__ с property и при наследовании;
• 28. Введение в обработку исключений. Блоки try / except;
• 29. Обработка исключений. Блоки finally и else;
• 30. Распространение исключений (propagation exceptions);
• 31. Инструкция raise и пользовательские исключения;
• 32. Менеджеры контекстов. Оператор with;
• 33. Вложенные классы;
• 34. Метаклассы. Объект type;
• 35. Пользовательские метаклассы. Параметр metaclass;
• 36. Метаклассы в API ORM Django.
#Курс
Post #3519
770