蟒蛇状态机

solid的Python项目详细描述


python的一个状态机实现,不是专门为解析字符串而设计的!

为什么是国家机器?

他们很酷!而且,很容易推理-状态机设计使您能够 以一种功能根本不起作用的方式划分职责。

为什么是“固体”?

这是一个复杂的名字:它是一个用python编写的状态机库; snake是python的另一个词,听起来像state,而solid snake是 一个相当有名的角色谁踢严重屁股。因此,“坚实”。

你好,世界

让我们定义一个超级简单的状态机,它有两个状态:一个打印 “hello”和一个打印“world”:

fromsolid.machinesimportBaseMachinefromsolid.statesimportBaseState,is_entry_statefromsolid.transitionimporttoclassHelloMachine(BaseMachine):@is_entry_stateclassHello(BaseState):defbody(self):print"Hello"returnto(HelloMachine.World)classWorld(BaseState):defbody(self):print"World"

来自Interpreter(或其他):

>>>h=HelloMachine()>>>h.start()HelloWorld>>>

差不多就这些了。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java制作Minecraft Mod。编译错误   java如何将系统属性文件传递给GWT?   java如何使用Android Studio 0.8.9配置Andengine、Andengine平铺地图、Physics2DBox?   java无法从Ubuntu14安装带有dockerfile的openjdk7jdk。04   java是捕获大多数try-catch语句的一种方法   java在Tomcat上启动Jenkins时出现一个问题(http://localhost:8080/jenkins/)   cmd如何在不单独启动的情况下作为java程序的一部分使用?   如何使Java在同一命令提示符窗口中打开批处理文件   Java:有没有一种方法可以将ArrayList<Boolean>转换为Boolean[](基本数组)?   java如何使用SpringWebClient进行同步调用?   java将上下文传递给多个线程是否安全?   在java中,为什么静态字段(不是final)被限制在内部类中   java关于Play2和Hibernate的几个问题   java如何使用JSch连接在单个会话中运行多个命令并读取其输出?   在Java中通过socket连接发送2D字符串数组   尽管服务已经启动,但不允许java远程访问namenode。