#!/usr/bin/env python3class Connection(object):def __init__(self):self.change_state(ClosedConnection)def change_state(self,new_state):self.__class__ = new_statedef read(self):raise NotImplementedError("未实现")def write(self):raise NotImplementedError("未实现")def open(self):raise NotImplementedError("未实现")def close(self):raise NotImplementedError("未实现")class OpenedConnection(Connection):def read(self):print("read")def write(self):print("write")def open(self):raise RuntimeError("连接已经打开")def close(self):self.change_state(ClosedConnection)class ClosedConnection(Connection):def read(self):raise RuntimeError("连接没有打开")def write(self):raise RuntimeError("连接没有打开")def open(self):self.change_state(OpenedConnection)def close(self):raise RuntimeError("连接已经关闭")if __name__=="__main__":conn = Connection()conn.open()conn.write()

转载于:https://www.cnblogs.com/JiangLe/p/9126072.html

Python语言的有限状态机实现样例相关推荐

  1. VOT-toolkit Python 版本使用教程--官方样例版

    1.下载与安装 不成功的话,用以下方案: 附:如果你以这种方式,可以查看./build/lib/vot/utilities/cli.py下面的输入参数的含义. 这是vot-toolkit定义输入参数的 ...

  2. python 标签云_Python word_cloud 样例 标签云系列(三)

    word_cloud/examples at master · amueller/word_cloud · GitHub 上面是官方样例.这一篇里的大部分尝试都基于这些样例进行修改.前提是你已经完成了 ...

  3. mysql ddl dcl_MySQL常用DDL、DML、DCL语言整理(附样例)

    在介绍这些SQL语言之前,先罗列一下mysql的常用数据类型和数据类型修饰,供查询参考 后面的带数字表示此类型的字段长度 数值型: TINYINT 1 ,SMALLINT 2,MEDIUMINT 3 ...

  4. python语言继承6.3节例6-1中的person_第6.3节 Python动态执行之动态编译的compile函数...

    Python支持动态代码主要三个函数,分别是compile.eval和exec.本节介绍compile函数的语法和相关使用.compile函数用来编译一段字符串的源码,将其编译为字节码或者AST(抽像 ...

  5. Python电力系统分析包PyPsa样例代码

    PyPsa是一款电力系统分析包,其可以进行稳态潮流计算(使用非线性/线性网络方程):线性最优潮流计算(线性网络约束下,计算电厂和储能分布的最小成本,使用线性网络方程):安全约束下线性最优潮流计算全电力 ...

  6. ACMNO.24 C语言-转置矩阵 写一个函数,使给定的一个二维数组(3×3)转置,即行列互换。 输入 一个3x3的矩阵 输出 转置后的矩阵 样例

    题目描述 写一个函数,使给定的一个二维数组(3×3)转置,即行列互换. 输入 一个3x3的矩阵 输出 转置后的矩阵 样例输入 1 2 3 4 5 6 7 8 9 样例输出 1 4 7 2 5 8 3 ...

  7. ACMNO.21 C语言-逆序输出 输入10个数字,然后逆序输出。 输入 十个整数 输出 逆序输出,空格分开 样例输入 1 2 3 4 5 6 7 8 9 0

    题目描述 输入10个数字,然后逆序输出. 输入 十个整数 输出 逆序输出,空格分开 样例输入 1 2 3 4 5 6 7 8 9 0 样例输出 0 9 8 7 6 5 4 3 2 1 提示 数组?堆栈 ...

  8. ACMNO.19 C语言-对角求和 求一个3×3矩阵对角线元素之和。 输入 矩阵 输出 主对角线 副对角线 元素和 样例输入 1 2 3 1 1 1 3 2 1 样例输出 3 7

    这个我做了改进,可以实现NXN的矩阵.求出对角线之和! 只需要修改定义的define z的值就好! 接下来,进入正题! 题目描述: 求一个3×3矩阵对角线元素之和. 输入 矩阵 输出 主对角线 副对角 ...

  9. turtle python tkinter_【案例】 什么?idle 中竟然有内置 turtle 样例?(paint)

    案例介绍 我打算开启一个新的方向-- turtle 库案例. 在我们下载安装完毕 Python3 后,在搜索(查找)框中输入 idle.exe,就能够打开系统内置的 Python 开发环境了.不知道有 ...

最新文章

  1. 如何构建高可用ZooKeeper集群
  2. BZOJ 4422 Cow Confinement (线段树、DP、扫描线、差分)
  3. Cloud Lab: 泰晓实验云台【转】
  4. 四处建实验室的Facebook说,我们没想跟学术界抢人啊
  5. CSS webkit
  6. 金融IT和ERP,哪个更有前途?
  7. php中的几个字符串操作函数strtoupper strtolower ucwords ucfirst lcfirst函数
  8. MYSQL8.0 OCP考试题库(如需完整版请留言)
  9. Java 将Word转为OFD
  10. java学生管理系统,(史上最全)
  11. 导出mysql某个表数据_mysql数据库导出指定表数据的方法
  12. Go语言程序开发之ARM开发环境搭建
  13. go-优雅地重启http服务之endless
  14. Recon-ng的简单使用(recon-ng v5.1.1)
  15. udpping检测与对端udp协议通信状况
  16. 运维人员必会的系统安全
  17. 畅捷通T+与道一云对接集成报销凭证
  18. STemWin学习:关于窗口消息的基础知识
  19. keysight-34461A使用感受
  20. minecraft服务器搭建教程_我的世界 创建服务器基本图文教程 怎么联机

热门文章

  1. 冲刺区块链第一股,也是AI芯片第一股,嘉楠在美提交IPO招股书
  2. 一起探讨NLP的边界和未来,学术界与工业界在“语言与智能高峰论坛”上擦出火花...
  3. 插入排序的Python实现
  4. Ubuntu使用小技巧
  5. git merge 和 git merge --no-ff
  6. 勒索病毒一周记:它让我们得到了什么经验教训?
  7. web入门+书籍推荐
  8. DevExpress打印功能 z
  9. IBM确定公司未来存储技术发展方向
  10. 一起谈.NET技术,ASP.NET MVC3 Service Location