Объектно-ориентированное программирование — не зависящая от языка программирования концепция. Это общая концепция программирования и большинство современных языков, такие как Java, C#, C++, PHP и Python поддерживают объектно-ориентированное программирование.

Как и следует из названия, объектно-ориентированное программирование — это речь об объектах. Однако, перед тем как создать объект, нам нужно определить его класс.

Отношение между классом и объектом можно представить более наглядно, взглянув на отношение между машиной и Audi. Да, Audi – это машина. Однако, нет такой вещи, как просто машина. Машина — это абстрактная концепция, которую также реализуют в Toyota, Honda, Ferrari, и других компаниях. Машина - это класс. Audi - это объект.

# Создаем класс Car
class Car:
    # создаем атрибуты класса
    name = "c200"
    make = "mercedez"
    model = 2008
    # создаем методы класса
    def start(self):
        print ("Заводим двигатель")
     def stop(self):
        print ("Отключаем двигатель")

Чтобы использовать класс нам нужно создать объект класса. Объект также называется экземпляром. Тем не менее, процесс создания объекта класса называется инициализация.

# Создаем объект класса Car под названием car_a
car_a = Car()
# Создаем объект класса Car под названием car_b
car_b = Car()

В этом скрипте мы создали два объекта класса Car: car_a и car_b. Чтобы узнать тип созданных нами объектов, мы можем использовать метод type и передать ему названия наших объектов. Выполните следующий код:

print(type(car_b))

В выдаче вы увидите: <class '__main__.Car'>

Это говорит нам о том, что тип объекта car_b – класс Car.

car_b = Car()
print(type(car_b)) #<class '__main__.Car'>
print(car_b.start()) #Заводим двигатель
print(car_b.name) #c200
print(car_b.make) #mercedez
print(car_b.model) #2008
print(car_b.stop()) #Отключаем двигатель