轻松掌握python设计模式之策略模式


Posted in Python onNovember 18, 2016

本文实例为大家分享了python策略模式代码,供大家参考,具体内容如下

"""
策略模式
"""
import types

class StrategyExample:
 def __init__(self, func=None):
  self.name = '策略例子0'
  if func is not None:
   """给实例绑定方法用的,不会影响到其他实例"""
   self.execute = types.MethodType(func, self)

 def execute(self):
  print(self.name)

def execute_replacement1(self):
 print(self.name + ' 从执行1')


def execute_replacement2(self):
 print(self.name + ' 从执行2')


if __name__ == '__main__':
 strat0 = StrategyExample()

 strat1 = StrategyExample(execute_replacement1)
 strat1.name = '策略例子1'

 strat2 = StrategyExample(execute_replacement2)
 strat2.name = '策略例子2'

 strat0.execute()
 strat1.execute()
 strat2.execute()

运行结果如图:

轻松掌握python设计模式之策略模式

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python 与服务器的共享文件夹交互方法
Dec 27 Python
Python实现的拉格朗日插值法示例
Jan 08 Python
python三引号输出方法
Feb 27 Python
基于python-opencv3的图像显示和保存操作
Jun 27 Python
Python 获取windows桌面路径的5种方法小结
Jul 15 Python
Python传递参数的多种方式(小结)
Sep 18 Python
python set集合使用方法解析
Nov 05 Python
在Python中字符串、列表、元组、字典之间的相互转换
Nov 15 Python
Python实现将蓝底照片转化为白底照片功能完整实例
Dec 13 Python
关于Theano和Tensorflow多GPU使用问题
Jun 19 Python
Python面向对象实现方法总结
Aug 12 Python
python实现感知机模型的示例
Sep 30 Python
轻松掌握python设计模式之访问者模式
Nov 18 #Python
Win10下Python环境搭建与配置教程
Nov 18 #Python
Python Paramiko模块的安装与使用详解
Nov 18 #Python
Python数据分析之真实IP请求Pandas详解
Nov 18 #Python
Python切换pip安装源的方法详解
Nov 18 #Python
Python max内置函数详细介绍
Nov 17 #Python
Python中的日期时间处理详解
Nov 17 #Python
You might like
php smarty截取中文字符乱码问题?gb2312/utf-8
2011/11/07 PHP
ThinkPHP3.2框架操作Redis的方法分析
2019/05/05 PHP
扩展String功能方法
2006/09/22 Javascript
理解Javascript_03_javascript全局观
2010/10/11 Javascript
javascript控制swfObject应用介绍
2012/11/29 Javascript
js实现简单登录功能的实例代码
2013/11/09 Javascript
js获取指定日期周数以及星期几的小例子
2014/06/27 Javascript
jquery序列化表单以及回调函数的使用示例
2014/07/02 Javascript
JavaScript设置body高度为浏览器高度的方法
2015/02/09 Javascript
javascript封装的sqlite操作类实例
2015/07/17 Javascript
JavaScript数据库TaffyDB用法实例分析
2015/07/27 Javascript
Jquery zTree 树控件异步加载操作
2016/02/25 Javascript
vue 数组和对象不能直接赋值情况和解决方法(推荐)
2017/10/25 Javascript
vue-cli + sass 的正确打开方式图文详解
2017/10/27 Javascript
Vue组件创建和传值的方法
2018/08/17 Javascript
Angular6新特性之Angular Material
2018/12/28 Javascript
js实现弹出框的拖拽效果实例代码详解
2019/04/16 Javascript
详解mpvue中使用vant时需要注意的onChange事件的坑
2019/05/16 Javascript
微信公众号服务器验证Token步骤图解
2019/12/30 Javascript
python网络编程之数据传输UDP实例分析
2015/05/20 Python
python使用SMTP发送qq或sina邮件
2017/10/21 Python
python通过TimedRotatingFileHandler按时间切割日志
2019/07/17 Python
Python爬虫:url中带字典列表参数的编码转换方法
2019/08/21 Python
使用浏览器访问python写的服务器程序
2019/10/10 Python
python实现WebSocket服务端过程解析
2019/10/18 Python
基于TensorFlow常量、序列以及随机值生成实例
2020/01/04 Python
通过案例解析python鸭子类型相关原理
2020/10/10 Python
Scholastic父母商店:儿童书籍
2017/01/01 全球购物
预备党员政审材料
2014/02/04 职场文书
我有一个梦想演讲稿
2014/05/05 职场文书
法制演讲稿
2014/09/10 职场文书
2015年消防工作总结
2015/04/24 职场文书
旗帜观后感
2015/06/08 职场文书
手把手教你制定暑期学习计划,让你度过充实的暑假
2019/08/22 职场文书
SpringBoot整合Mybatis Generator自动生成代码
2021/08/23 Java/Android
MongoDB数据库之添删改查
2022/04/26 MongoDB