说实话,感觉不是特别多,可能没遇到过多场面,

所以对应用场景没感觉吧。

反正,各种模式就是把类的实例传来传去,久而久之,产生了一些规律。。。:)

# 轮子,引擎, 车身这些定义好了都不需要变动
class Wheel:def __init__(self, name):self.name = namedef accept(self, visitor):# 每个visitor是同样的,但是其中的方法是不一样的,比如这里是visitWheel,# 然后传入了self,想想?他其实想做什么就能做什么
        visitor.visitWheel(self)class Engine:def accept(self, visitor):visitor.visitEngine(self)class Body:def accept(self, visitor):visitor.visitBody(self)# 我们要组合成车
class Car:def __init__(self):self.engine = Engine()self.body   = Body()self.wheels = [ Wheel("front left"), Wheel("front right"),Wheel("back left") , Wheel("back right") ]# 这个也不需要在动,他只是上面部件的组合,只是做了属性的委托def accept(self,visitor):visitor.visitCar(self)self.engine.accept(visitor)self.body.accept(visitor)for wheel in self.wheels:wheel.accept(visitor)# 这个才是我们的访问者,每次的修改都在这里面
class PrintVisitor:def visitWheel(self, wheel):print "Visiting "+wheel.name+" wheel"def visitEngine(self, engine):print "Visiting engine"def visitBody(self, body):print "Visiting body"def visitCar(self, car):print "Visiting car"if __name__ == '__main__':car = Car()visitor = PrintVisitor()car.accept(visitor)

学点PYTHON基础的东东--数据结构,算法,设计模式---访问者模式相关推荐

  1. 一木.溪桥学Python-04: Python基础数据类型int ,float ,bool ,complex,None,str, 转义字符

    一木.溪桥 在Logic Education跟Amy学Python 12期:Python基础课 一木.溪桥学Python-04: Python基础数据类型int ,float ,bool ,compl ...

  2. python基础知识整理-整理了27个新手必学的Python基础知识点

    原标题:整理了27个新手必学的Python基础知识点 1.执行脚本的两种方式 Python a.py 直接调用Python解释器执行文件 chomd +x a.py ./a.py #修改a.py文件的 ...

  3. 【Python基础学习】基本数据结构:列表、元组、栈、字典、集合与队列

    [Python基础学习]基本数据结构:列表.元组.栈.字典.集合与队列 Python的基本数据结构中,包含了列表.元组等一系列数组式数据结构,但各个结构各有不同.因此单独列出来,分析相同与不同 列表( ...

  4. 学了Python基础,苦于无法上手实战,看这本

    Python语言能让编程变得更加简单易学.但是,在掌握Python基础知识后,你是否面临编程技能无法提升,不知后续学习该如何开展的问题?<Python编程实战 妙趣横生的项目之旅>包含许多 ...

  5. 享学课堂python基础学习day15之文件操作

    我是一个22年8月加入享学课堂的学生,主要学习python基础和爬虫课程,学到现在,发现以前的学习知识容易忘记,听了老师的建议之后,决定在CSDN写博客,可以复习自己学过的知识,废话不多说,文件操作里 ...

  6. python基础语法和基本数据结构

    Python基础语法 一.运算符 a.比较运算符 运算符 意义 x<y 当x真的小于y时,返回真,否则返回假 b.数值运算符 运算符 意义 x/y 返回x/y的结果 x//y 返回x除于y的整数 ...

  7. 享学课堂python基础学习day16之类和对象

    我是一个22年8月加入享学课堂的学生,主要学习python基础和爬虫课程,学到现在,发现以前的学习知识容易忘记,听了老师的建议之后,决定在CSDN写博客,可以复习自己学过的知识,今天分享类和对象学习了 ...

  8. python爬虫在哪里学_学完了python基础想学习python爬虫从哪里学起呢?

    针对Python爬虫,我还是有一定的话语权的 我之前就是先学习Python基础,然后用Python做了几个网站,后面需要数据,所以开始学习Python的爬虫技术. 关于Python方面的爬虫, 最基础 ...

  9. 学点PYTHON基础的东东--数据结构,算法,设计模式---观察者模式

    按照小明明的设计模式抄抄看看.. http://dongweiming.github.io/python-observer.html # 这个是观察者基类 class Subject(object): ...

  10. 学完python基础开始学爬虫_零基础入门Python爬虫不知道怎么学?这是入门的完整教程...

    这是一个适用于小白的Python爬虫免费教学课程,只有7节,让零基础的你初步了解爬虫,跟着课程内容能自己爬取资源.看着文章,打开电脑动手实践,平均45分钟就能学完一节,如果你愿意,今天内你就可以迈入爬 ...

最新文章

  1. asp.net开源CMS推荐
  2. zip,tar,打包并压缩
  3. SQL Server安全(8/11):数据加密(Data Encryption)
  4. 训练日志 2019.1.24
  5. 【FPGA——协议篇】:I2C总线协议详解+verilog源码
  6. 像Selenium爬网页一样爬手机App,可见即可爬——appium 教程(一)appium安装windows版
  7. Cohen's d 效应量计算
  8. 企业邮箱账号,如何在foxmail上创建
  9. 小菜学前端day02(学习笔记)
  10. 2019.2.18 模板的创建和自定义子模板文件(single.php 等)
  11. 什么是zigbee?
  12. Skin Cancer MNIST(皮肤癌患者相关数据集)
  13. 大学物理复习笔记——量子物理
  14. 比 Xshell 还好用的 SSH 客户端神器,MobaXterm 太爱了!
  15. 深度linux系统wifi信号变弱,在Deepin 20社区版下WiFi网速变慢的处理
  16. Python添加pywin32
  17. C++视频会议demo源码下载
  18. QQ.com速度优化解决方案介绍
  19. 知网查重TMLC与PLMC有什么区别
  20. 定义一个函数,统计输入的一串字符包含多少个数字,多少个英文字母,多少个空白字符,多少个其他字符(Python经典编程案例)

热门文章

  1. 当多个类之间有继承关系时,创建子类对象会导致父类初始化块的执行。
  2. 好公司和差公司的对比
  3. 焦点图,带数字显示,支持常见浏览器
  4. Bootstrap Paginator分页插件(mark)
  5. spring3: 依赖和依赖注入-xml配置-DI的配置
  6. CSAcademy Beta Round #5 Long Journey
  7. groupadd命令详解(实例)
  8. 总结一些Android好用的开源库
  9. PowerShell 远程连接与其它技巧
  10. 8.最大滑动窗口问题