Быстрый в изучении - мощный в программировании
>> Telegram ЧАТ для Python Программистов

Свободное общение и помощь советом и решением проблем с кодом! Заходите в наш TELEGRAM ЧАТ!

>> Python Форум Помощи!

Мы создали форум где отвечаем на все вопросы связанные с языком программирования Python. Ждем вас там!

>> Python Канал в Telegram

Обучающие статьи, видео и новости из мира Python. Подпишитесь на наш TELEGRAM КАНАЛ!

Создание классов и объектов ООП Python

Создание классов и объектов ООП Python

В программе, написанной при помощи парадигмы объектно-ориентированного программирования, должны быть:

  • Объекты.
  • Классы (описания объектов).
  • Взаимодействия между объектами, вследствие которых их характеристики будут изменятся.

Создание объекта в программе возможно при основании на определенном классе. Значит, ООП следует начинать с проектирования, создания классов. Последние можно расположить в первой части кода программа, либо импортировать их из других модульных файлов (тоже в начале кода).

Создание классов

Чтобы создавать классы мы воспользуемся инструкцией class. Она включает заголовок и тело. В заголовке имеется ключевое слово class, имя класса, а также при необходимости, наименование суперклассов в скобках. Если суперклассов нет, то и скобки не потребуются. В теле находится блок разного рода инструкций. В теле должен быть отступ (так же, как и в любой другой вложенной конструкции на языке Python).

На схеме класс можно изобразить так:

class ИМЯКЛАССА:
     ПЕРЕМЕННАЯ = ЗНАЧЕНИЕ
     …
     def ИМЯМЕТОДА(self, ...):
          self.ПЕРЕМЕННАЯ = ЗНАЧЕНИЕ
          …
     … 

Это не полная схема. К примеру, заголовок может содержать еще и суперклассы, могут быть более сложные методы. Не забывайте, что методы в классах являются теми же функциями, кроме одного момента. У них есть 1 обязательный параметр – self. Благодаря ему обеспечивается связь с определенным объектом.

Атрибуты класса – наименования переменных вне функций, а также наименования функций. Они наследуются каждым объектом, который базируется на данном классе. За счет атрибутов мы имеем поведение и свойства объекта. У объектов могут быть также атрибуты, которые созданы в теле самого модуля, в том случае, когда этот модуль вызывается для определенного объекта.

Создание объектов

Создание объекта происходить следующим образом:

ПЕРЕМЕННАЯ = ИМЯКЛАССА()

В данном случае не обязательно пользоваться скобками. Выполнив данную инструкцию, мы получим объект, получение доступа к которому возможно по наименованию переменной, которая с ним связана. Объекту будут присвоены атрибуты его класса. Получается, что у объектов будут характеристики, предусмотренные их классами. Базируясь на определенном классе можно создавать неограниченное количество объектов.

Первая ОО-программа

Далее попробуем применить полученные знания и написать маленькую ОО-программу. Пусть у нас будет класс, обладающий одним атрибутом без метода и 1 методом, который будет осуществлять вывод данного атрибута на экран с маленьким изменением.

class First:
     color = "red"
     def out(self):
          print (self.color + "!")

Далее сделаем парочку объектов этого класса:

obj1 = First()
obj2 = First()

У каждого из них по 2 одинаковых атрибута: out (как метод) и color (как свойство). Проверяется это просто:

print (obj1.color)
print (obj2.color)
obj1.out()
obj2.out()

По выполнению этого скрипта мы получим вывод 2-х надписей red! И 2-х red. Первые – результат использования метода out, вторые – функции print касательно свойств объектов. Если вам нужны драйверы для какого либо устройства вашего компьютера, к примеру, для видеокарт производства Palit, заходите на сайт http://offdriver.ru/dev/41-palit. Проект собрал практически все существующие драйвера для любого устройства в одном месте. Нужный легко находится через поиск или по категориям. Для загрузки желаемого драйвера, необходимо просто нажать кнопку скачки и драйвер будет у вас на компьютере.