Назад к вопросам
Junior — Middle
71
Имели ли вы опыт работы с конечными автоматами (FSM)?
Ответ от нейросети
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 или сетевых протоколах, где важно четко контролировать переходы между состояниями.