Sobes.tech
Back to questions
Junior — Middle
70

Имели ли вы опыт работы с конечными автоматами (FSM)?

Answer from AI

sobes.tech AI

Конечный автомат (FSM, Finite State Machine) — это модель поведения, которая состоит из конечного числа состояний и переходов между ними в ответ на события.

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

Пример простого FSM на Python:

class TrafficLightFSM:
    def __init__(self):
        self.state = 'Red'

    def on_event(self, event):
        if self.state == 'Red' and event == 'timer':
            self.state = 'Green'
        elif self.state == 'Green' and event == 'timer':
            self.state = 'Yellow'
        elif self.state == 'Yellow' and event == 'timer':
            self.state = 'Red'

# Использование
traffic_light = TrafficLightFSM()
print(traffic_light.state)  # Red
traffic_light.on_event('timer')
print(traffic_light.state)  # Green

Я использовал FSM для управления состояниями в играх, UI или сетевых протоколах, где важно четко контролировать переходы между состояниями.