介绍
今天就跟大家聊聊有关Python中观察者模式的原理是什么,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
Python的数据类型有哪些吗?
python的数据类型:1。数字类型,包括int(整型),长(长整型)和浮子(浮点型)。2。字符串,分别是str类型和unicode类型。3。布尔型,Python布尔类型也是用于逻辑运算,有两个值:True(真)和虚假的(假)。4。列表,列表是Python中使用最频繁的数据类型,集合中可以放任何数据类型。5。元组,元组用“()”标识,内部元素用逗号隔开。6。字,字典典是一种键值对的集合。7。集合,集合是一个无序的,不重复的数据组合。
观察者模式的一个演示:
# !/usr/bin/env python #,- *安康;编码:utf-8 - * 时间=__author__ & # 39;安迪# 39; “““ 大话设计模式 设计模式,观察者模式 观察者模式又叫做发布-订阅模式,(Publish Subscribe 模式):定义了一种一对多的关系,让多个观察对象同时监听一个主题对象,当主题对象状态发生变化时会通知所有观察者,是它们能够自动更新自己 使用场景:当一个对象的改变需要同时改变其他对象的时候,而且它不知道具体有多少对象待改变 “““ #抽象通知者类 class 主题(对象): def 才能;附加(自我,,观察员): ,才能通过 def 才能;分离(自我,观察员): ,才能通过 def 才能通知(自我): ,才能通过 #具体通知者类 class 老板(主题): def 才能__init__(自我): ,,,self.observer_list =, [] ,,,self.subject_status =, & # 39; & # 39; def 才能;附加(自我,,观察员): ,,,self.observer_list.append(观察者) def 才能;分离(自我,观察员): ,,,self.observer_list.remove(观察者) def 才能通知(自我): ,,,for item 拷贝self.observer_list: ,,,,,item.update () #抽象观察者类 class 观察者(对象): def 才能;__init__(自我,,名字,,发布): ,,,self.name =,名字 ,,,self.publish =发布 def 才能更新(自我): ,才能通过 #具体观察者类——看股票的人 class StockObserver(观察者): def 才能更新(自我): ,,,print self.publish.subject_status, self.name, & # 39;关闭股票行情,继续工作& # 39; #具体观察者类——看NBA的人 class NbaObserver(观察者): def 才能更新(自我): ,,,print self.publish.subject_status, self.name, & # 39;关闭NBA,继续工作& # 39; if __name__ ==,“__main__": publisher 才能=,老板() stocker 才能=,StockObserver(& # 39;安迪# 39;,出版商) nbaer 才能=,NbaObserver(& # 39;特雷西# 39;,出版商) publisher.attach才能(储料器) publisher.attach才能(nba) 时间=publisher.subject_status 才能;& # 39;本老板回来了& # 39; publisher.notify才能()
运行结果:
本老板回来了安迪关闭股票行情,继续工作
引用>
本老板回来了特雷西关闭NBA,继续工作上面类的设计如下图:
看完上述内容,你们对Python中观察者模式的原理是什么有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注行业资讯频道,感谢大家的支持。
Python中观察者模式的原理是什么