有限状态机(Finite-state machine, FSM),又称有限状态自动机,简称状态机,是表示有限个状态以及在这些状态之间的转移和动作等行为的数学模型。FSM是一种算法思想,简单而言,有限状态机由一组状态、一个初始状态、输入和根据输入及现有状态转换为下一个状态的转换函数组成。现实世界中存在大量具有有限个状态的系统:钟表系统、电梯系统、交通信号灯系统、通信协议系统、正则表达式、硬件电路系统设计、软件工程,编译器等,有限状态机的概念就是来自于现实世界中的这些有限系统。
transitions是一个由Python实现的轻量级的、面向对象的有限状态机框架。
transitions最基本的用法如下:
先自定义一个类Matter
定义一系列状态和状态转移(定义状态和状态转移有多种方式,官网上给了最快速理解的一个例子)
初始化状态机
4.获取当前的状态或者进行转化
from transitions import Machine
class Matter(object):
pass
model = Matter()
#The states argument defines the name of states
states=['solid', 'liquid', 'gas', 'plasma']
# The trigger argument defines the name of the new triggering method
transitions = [
{'trigger': 'melt', 'source': 'solid', 'd