В первой части учебника про ООП в Python мы рассмотрим основы ООП в Python 3, всё самое главное, что стоит знать.
Что такое ООП:
Для начала нужно рассмотреть в целом что такое ООП, это сокращение от Объектно-Ориентированное Программирования.
Суть заключается в том, что вы создаёте класс, и потом создаёте объекты от этого класса, которые имеет его свойства и методы.
Это всё если совсем кратко говоря, но если вам интересно более подробно, то прочитайте статью «Что такое ООП», там всё более подробно описано.
Кассы и Объекты:
Теперь рассмотрим всё более подробно, и начнём с классов и объектов.
Опять же, перед тем как рассматривать всё это в самом языке программирования Python, давайте расскажу как это всё работает.
Можно сказать так, класс это машина, то есть не какая то конкретная, а именно сам класс вещи, а мерседес это объект класса машина, возможно формулировка не самая понятная, но надеюсь вы поняли.
Классы и объекты в Python:
Давайте для наглядности покажу вам не большой кусочек кода, чтобы вы поняли основное как с этим работать:
1 2 3 4 5 6 7 8 9 10 11 12 13 | # Создаём класс class Car: # Создаём метод класса def show_marka(self, marka): # Выводим марку print(marka) def main(): # Создаём экземпляр класса или объект vaz = Car() # Вызываем метод объекта vaz.show_marka(marka="Ваз") |
Как видите мы создаём класс с помощью ключевого слова class
, внутри мы создали метод, (о них ниже), который принимает в себя self
и marka
.
self
это по сути ссылка которая отсылается но объект этого класса, а передаём её методу для того, что бы он имел доступ к методам и свойства объекта.
А marka
, это просто аргумент как у функции, тут не чего удивительного нет.
Дальше, уже в main()
, мы создаём экземпляр или объект класса и называем его vaz
, как видите это похожа на просто присвоения возвращаемого значения функции, и уже вызываем метод объекта, добавляя аргумент marka
.
Вот что в итоге должно вывестись:
Как видите вывелось как мы и планировали, и думаю вы поняли, что Car
это класс, а vaz
объект.
Свойства и методы:
Теперь рассмотрим свойства и методы, и думаю вы уже догадываетесь что свойства это какой то параметр, например им может быть размер машины, тип кузова, или та же марка.
А метод это выполняемое действие, например, машина поехала или машина остановилась.
Это если кратко говоря что такое свойства и методы.
Свойства и методы в Python:
Теперь посмотрим как это всё работает на Python, для этого вот вам не большой пример кода:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | # Создаём класс Car class Car: # Создаём метод add_marka def add_marka(self, marka): # Создаём свойства marka и присваиваем ему значение self.marka = marka # Создаём метод show_marka def show_marka(self): # Выводим свойство marka print(self.marka) def main(): # Создаём объект класса Car vaz = Car() # Назначаем свойство marka vaz.add_marka(marka="Ваз") # Выводим свойство marka vaz.show_marka() |
Как видите мы немного усовершенствовали предыдущий код, во первых мы добавляем новое свойство через метод add_marka()
, и назначаем с использованием слова self
, что означает присваивание свойство объекту этого класса.
Благодаря ему мы и можем использовать свойство в других методах, например мы ещё используем в методе show_marka()
при выведи, хоть они и находиться по сути в разных областях видимости.
Исходя из выше прочитанного можно понять, что свойство это переменная которая присваивается объекту класса.
Ну и методы, они нужны просто для действий, например как у нас, для назначения свойств и для их же вывода.
В остальном думаю вы уже всё поняли, она выведет тоже самое, что и код который выше, поэтому нет смысла этого показывать.
Вывод:
В этой статье вы прочитали про основы ООП в Python, узнали что такое классы и объекты, и зачем нужны свойства и методы.