Python设计模式(三)【共享模式】
2016-08-25 14:45
232 查看
又来干货,继续努力,少年!
# 共享模式 class Borg: """共享状态""" __shared_state = {} def __init__(self): self.__dict__ = self.__shared_state self.state = '初始化' """当你打印一个类的时候,那么print首先调用的就是类里面的定义的__str__""" """当打印Borg的一个实例的时候,__str__函数被调用到""" def __str__(self): return self.state class YourBorg(Borg): """Python pass是空语句,是为了保持程序结构的完整性。 pass 不做任何事情,一般用做占位语句。""" pass if __name__ == '__main__': rm1 = Borg() rm2 = Borg() rm1.state = '空闲的' rm2.state = '运行中的' print('rm1: {0}'.format(rm1)) print('rm2: {0}'.format(rm2)) """改变(共享的)状态""" rm2.state = '僵尸' print('rm1: {0}'.format(rm1)) print('rm2: {0}'.format(rm2)) print('rm1 id: {0}'.format(id(rm1))) print('rm2 id: {0}'.format(id(rm2))) """初始化(共享的)状态""" rm3 = YourBorg() print('rm1: {0}'.format(rm1)) print('rm2: {0}'.format(rm2)) print('rm3: {0}'.format(rm3))
结果如图:
相关文章推荐
- 虚拟拨号上网模式下实现双机共享上网的一种最省钱的方法
- 微软新发布的共享设计模式的WIKI
- 异步调用 WebService 及 同步模式下通过Session以共享计数
- 在Forms验证模式下,实现多个站点(SubDomain相同)共享同一用户登录状态
- 海外共享软件营销模式实例分析
- ASP.NET 2.0 二级域名Forms验证模式下共享登陆状态
- 异步调用 WebService 及 同步模式下通过Session以共享计数
- 为什么创建web Form时弹出“此项目的默认web访问模式设置为文件共享,但无法从路径.......
- ASP.NET 2.0 二级域名Forms验证模式下共享登陆状态
- 昨日关注:微软新发布的共享设计模式的WIKI
- 如何使用动态共享对象的模式来安装PHP
- 一个推进市场经济秩序和谐的新生事物——初探应运而生的商评共享模式
- SAMBA服务器设置为共享模式,无法访问故障排除。(如何修改linux主机名?)
- 如何使用动态共享对象的模式来安装PHP
- Ward Cunningham创建模式共享社区
- 无废话“共享模式”
- 在Forms验证模式下,实现多个站点(SubDomain相同)共享同一用户登录状态
- 将XP系统的默认共享模式改为经典模式
- 收集关于Oracle Server专用模式和共享模式的论述
- 优化运营模式 构建共享服务