轻松掌握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中利用xml.dom模块解析xml的方法教程
May 24 Python
Python读取word文本操作详解
Jan 22 Python
对python修改xml文件的节点值方法详解
Dec 24 Python
对python中大文件的导入与导出方法详解
Dec 28 Python
python turtle库画一个方格和圆实例
Jun 27 Python
Django forms表单 select下拉框的传值实例
Jul 19 Python
Python列表倒序输出及其效率详解
Mar 04 Python
PIL.Image.open和cv2.imread的比较与相互转换的方法
Jun 03 Python
如何真正的了解python装饰器
Aug 14 Python
Python classmethod装饰器原理及用法解析
Oct 17 Python
解决pycharm不能自动保存在远程linux中的问题
Feb 06 Python
Python内置数据结构列表与元组示例详解
Aug 04 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
精致的人儿就要挑杯子喝咖啡
2021/03/03 冲泡冲煮
php数据结构与算法(PHP描述) 查找与二分法查找
2012/06/21 PHP
php function用法如何递归及return和echo区别
2014/03/07 PHP
解决PhpMyAdmin中导入2M以上大文件限制的方法分享
2014/06/06 PHP
PHP使用pear自带的mail类库发邮件的方法
2015/07/08 PHP
php实现中文转数字
2016/02/18 PHP
PHP单例模式定义与使用实例详解
2017/02/06 PHP
PHP编程获取图片的主色调的方法【基于Imagick扩展】
2017/08/02 PHP
PHPTree――php快速生成无限级分类
2018/03/30 PHP
PHP分享图片的生成方法
2018/04/25 PHP
JavaScript 对象、函数和继承
2009/07/07 Javascript
JavaScript.The.Good.Parts阅读笔记(二)作用域&闭包&减缓全局空间污染
2010/11/16 Javascript
jquery 滚动条事件简单实例
2013/07/12 Javascript
JavaScript数据库TaffyDB用法实例分析
2015/07/27 Javascript
微信小程序中hidden不生效原因的解决办法
2017/04/26 Javascript
three.js中文文档学习之创建场景
2017/11/20 Javascript
vue检测对象和数组的变化分析
2018/06/30 Javascript
vue视图不更新情况详解
2019/05/16 Javascript
js神秘的电报密码 哈弗曼编码实现
2019/09/10 Javascript
[55:11]完美世界DOTA2联赛PWL S2 SZ vs LBZS 第一场 11.26
2020/11/30 DOTA
Python中的Numeric包和Numarray包使用教程
2015/04/13 Python
python之DataFrame实现excel合并单元格
2021/02/22 Python
对Python多线程读写文件加锁的实例详解
2019/01/14 Python
python tkinter实现彩球碰撞屏保
2019/07/30 Python
requests在python中发送请求的实例讲解
2021/02/17 Python
matplotlib之pyplot模块坐标轴标签设置使用(xlabel()、ylabel())
2021/02/22 Python
HTML5新增加标签和功能概述
2016/09/05 HTML / CSS
HTML5实现签到 功能
2018/10/09 HTML / CSS
俄罗斯电子产品、计算机和家用电器购物网站:OLDI
2019/10/27 全球购物
研发工程师的岗位职责
2013/11/18 职场文书
大学生村官事迹材料
2014/01/21 职场文书
学校安全教育月活动总结
2014/07/07 职场文书
党员自我剖析材料(群众路线)
2014/10/06 职场文书
给老婆的道歉信
2015/01/20 职场文书
2015年乡镇安全生产工作总结
2015/05/19 职场文书
公文写作:新员工转正申请书范本3篇!
2019/08/07 职场文书