Объектно-ориентированное программирование (ООП) в Python — для начинающих (Часть 1)

ООП в Python — для начинающих (Часть 1)

В этой первой части серии Объектно-ориентированное программирование (ООП) на Python - для начинающих мы отправимся в путешествие, чтобы разобраться с понятием классов и объектов. Мы рассмотрим основы создания и использования классов, определения атрибутов и методов, и даже изучим, как передавать разные аргументы для создания уникальных экземпляров. Во время этого путешествия мы объясним каждое понятие с помощью простых и понятных примеров.

Содержание

  • 1 ООП
  • 2 Классы
  • 2.1 Атрибуты
  • 2.2 Методы
  • 3 Метод Init и self
  • 4 Заключение
  • 5 Ссылки

ООП

В Python мы используем классы для создания объектов. Объект состоит из атрибутов и методов. Атрибуты представляют данные об объекте, такие как его имя, цена или символ, в то время как методы определяют функциональности или задачи, которые объект может выполнять, например, настройку цены или вычисление некоторой метрики (метрики риска хвоста, коэффициенты Шарпа/Сортино…) [1].

Если вы использовали Python, вы уже сталкивались с объектами и классами:

  • str(“cat”): str – это класс, а “cat” – экземпляр (пример) этого класса.
  • list([1, 2, 3]): list – это класс, а [1, 2, 3] – экземпляр класса list.

В Python есть множество доступных классов в стандартной библиотеке и также в других библиотеках, таких как NumPy или pandas, среди других. Замечательно то, что Python также дает нам возможность создавать наши собственные классы для решения конкретных проблем и оптимизации нашего рабочего процесса. С помощью наших собственных классов мы можем делать это очень эффективно, и это позволяет нам повторно использовать код.

Классы

Рассмотрим класс “Piggy_Bank” в качестве примера, и внутри этого класса мы определяем два отдельных атрибута: “type” и “value”. Эти атрибуты создаются с использованием параметра “self”, за которым следует тип/значение атрибута, а затем присваиваются конкретные значения – в данном случае “coin” и “1”, соответственно.