:title: Питонячье ООП на уточках :date: 24 Jul 21 ======================== Питонячье ООП на уточках ======================== Это весьма скупая на информацию напоминалка о работе с классами. * `Class definitions`_ * `ООП на Python: концепции, принципы и примеры реализации`_ **duck.py**: .. code-block:: python # Объявляем класс "птица". От него в последствии будет унаследован # класс "уточка". Здесь задаются общие характеристики для всех птиц # и метод "летать". Аргумент `self` – это ссылка на объект, в контексте # которого вызывается метод. Она обязательна для методов классов. class Bird(object): can_fly = True wings = 2 def fly(self): print('I\'m flying!') # Уточка это уже конкретный биологический вид (опускам породы и # виды уточек). # У неё есть имя и цвет (хотя цвет мог быть и у абстрактной птицы). # Также уточка обладает уникальным методом "сказать кря". class Duck(Bird): name = 'Duck' color = 'Yellow' def say_quack(self): print('quack!') Как этим пользоваться: .. code-block:: text >>> import duck >>> bird = duck.Bird() >>> duck = duck.Duck() >>> bird.fly() I'm flying! >>> duck.fly() I'm flying! >>> duck.say_quack() quack! >>> duck.name = 'Cool Duck' >>> duck.name 'Cool Duck' .. Links .. _ООП на Python\: концепции, принципы и примеры реализации: https://proglib.io/p/python-oop/ .. _Class definitions: https://docs.python.org/3/reference/compound_stmts.html#class-definitions