В своих постах я не буду сильно углубляться в теорию которую и так можно прочитать, слава великому Рандому и Глобальному интернету что есть где.
Мы с Вами сфокусируемся на реальных примерах, которые присутствовали в моем обучении в 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) - запускаем класс с любыми параметрами
При запуске скрипта Вы заметите что изменение цвета происходит в строгой последовательности и точным промежутком времени указанном в параметрах.
Надеюсь моя статья поможет Вам разобраться, а если нет то пишите в комментариях что именно не понятно и я обязательно разложу Вам все по полочкам)
До встречи!