Найти тему
Зарабатываем на Python

ООП Python с примерами

В своих постах я не буду сильно углубляться в теорию которую и так можно прочитать, слава великому Рандому и Глобальному интернету что есть где.

Мы с Вами сфокусируемся на реальных примерах, которые присутствовали в моем обучении в GB.

Первый пример прям вот из жизни) Многие автомобилисты начнут понимать по какой причине они стоят в пробках... Потому что горе программист не хочет анализировать свой код. Я конечно же утрирую.

Мы разберем работу светофора. Для этого нам понадобится библиотека time, ее не нужно скачивать она устанавливается вместе с Питончиком.

Так же сразу я предлагаю оформить все в стиле ООП заодно и его начнем учить. Сразу скажу что я еще не гуру кода, я учусь и надеюсь что Вы мне поможете комментируя данную статью.

Итак, для начала создадим класс светофора:

import time


class TrafficLight:

def __init__(self, color=''):
self.__color = color

Любое название класса в Питоне необходимо начинать с большой буквы - так принято! Я так же создал сразу конструктор класса __init__ который является методом нашего класса. В данном случае наш светофор имеет цвет. Я его сделал приватным. Подробнее о модификаторах доступа читайте тут.

Ну и еще 2 метода моего светофора которые будут отвечать за переключение цветов и определенный промежуток времени свечения выводя название цвета и продолжительность свечения.

def running(self, r=4, y=2, g=3) -> None:
"""
перебирает цвета светофора с определенной задержкой
:param r: int количество секунд свечения цвета
:param y: int количество секунд свечения цвета
:param g: int количество секунд свечения цвета
:return:
"""
self.__color = 'Красный'
print(f"{self.__color} {r} сек")
self.cycle(r)
self.__color = 'Желтый'
print(f"{self.__color} {y} сек")
self.cycle(y)
self.__color = 'Зеленый'
print(f"{self.__color} {g} сек")
self.cycle(g)

def cycle(self, sleep):
while sleep:
time.sleep(1)
sleep -= 1

И завершим наш скрипт интерфейсом пользователя.

if __name__ == '__main__':
traffic = TrafficLight()
traffic.running()
traffic.running(1, 1, 1)

После запуска мы получим результат:

Красный 4 сек

Желтый 2 сек

Зеленый 3 сек

Красный 1 сек

Желтый 1 сек

Зеленый 1 сек

Process finished with exit code 0

traffic = TrafficLight() - определяем наш Класс

traffic.running() - запускаем класс с параметрами по умолчанию

traffic.running(1, 1, 1) - запускаем класс с любыми параметрами

При запуске скрипта Вы заметите что изменение цвета происходит в строгой последовательности и точным промежутком времени указанном в параметрах.

Надеюсь моя статья поможет Вам разобраться, а если нет то пишите в комментариях что именно не понятно и я обязательно разложу Вам все по полочкам)

До встречи!