轻松掌握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自定义函数的创建、调用和函数的参数详解
Mar 11 Python
使用Python进行新浪微博的mid和url互相转换实例(10进制和62进制互算)
Apr 25 Python
Python中无限元素列表的实现方法
Aug 18 Python
利用Python进行异常值分析实例代码
Dec 07 Python
Python UnboundLocalError和NameError错误根源案例解析
Oct 31 Python
解决django服务器重启端口被占用的问题
Jul 26 Python
python根据多个文件名批量查找文件
Aug 13 Python
如何利用python web框架做文件流下载的实现示例
Jun 02 Python
如何利用Python动态模拟太阳系运转
Sep 04 Python
Python爬取梨视频的示例
Jan 29 Python
Python办公自动化解决world文件批量转换
Sep 15 Python
Python实现抖音热搜定时爬取功能
Mar 16 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入门的学习方法
2007/01/02 PHP
php判断输入不超过mysql的varchar字段的长度范围
2011/06/24 PHP
使用php清除bom示例
2014/03/03 PHP
PHP管理依赖(dependency)关系工具 Composer 安装与使用
2014/08/18 PHP
PHP 输出缓冲控制(Output Control)详解
2016/08/25 PHP
php5.x禁用eval的操作方法
2018/10/19 PHP
Javascript miscellanea -display data real time, using window.status
2007/01/09 Javascript
jQuery建立一个按字母顺序排列的友好页面索引(兼容IE6/7/8)
2013/02/26 Javascript
使用js显示当前时间示例
2014/03/02 Javascript
使用jQuery的attr方法来修改onclick值
2014/07/07 Javascript
基于jQuery的图片不完全按比例自动缩小
2014/07/11 Javascript
javascript的document.referrer浏览器支持、失效情况总结
2014/07/18 Javascript
跟我学习javascript的隐式强制转换
2015/11/16 Javascript
JS实现图片高亮展示效果实例
2015/11/24 Javascript
AngularJs实现ng1.3+表单验证
2015/12/10 Javascript
基于jQuery实现仿百度首页选项卡切换效果
2016/05/29 Javascript
vue-axios使用详解
2017/05/10 Javascript
基于原生js运动方式关键点的总结(推荐)
2017/10/01 Javascript
vue组件化中slot的基本使用方法
2019/05/01 Javascript
[54:57]DOTA2-DPC中国联赛定级赛 Aster vs DLG BO3第二场 1月8日
2021/03/11 DOTA
Python正则表达式教程之三:贪婪/非贪婪特性
2017/03/02 Python
基于hashlib模块--加密(详解)
2017/06/21 Python
Python3多线程爬虫实例讲解代码
2018/01/05 Python
Python中max函数用于二维列表的实例
2018/04/03 Python
详解Python3注释知识点
2019/02/19 Python
PyQt5 QTableView设置某一列不可编辑的方法
2019/06/25 Python
sklearn线性逻辑回归和非线性逻辑回归的实现
2020/06/09 Python
基于python实现模拟数据结构模型
2020/06/12 Python
基于python图书馆管理系统设计实例详解
2020/08/05 Python
python 基于wx实现音乐播放
2020/11/24 Python
用CSS3将你的设计带入下个高度
2009/08/08 HTML / CSS
英国家居装饰品、户外家具和玻璃器皿购物网站:Rinkit.com
2019/11/04 全球购物
销售团队激励口号
2014/06/06 职场文书
大学专科求职信
2014/07/02 职场文书
幼儿园中班教师个人总结
2015/02/05 职场文书
垂直极限观后感
2015/06/08 职场文书