轻松掌握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检查字符串是否是正确ISBN的方法
Jul 11 Python
Python Sqlite3以字典形式返回查询结果的实现方法
Oct 03 Python
python模块之sys模块和序列化模块(实例讲解)
Sep 13 Python
python利用正则表达式搜索单词示例代码
Sep 24 Python
django站点管理详解
Dec 12 Python
python批量下载抖音视频
Jun 17 Python
关于Python核心框架tornado的异步协程的2种方法详解
Aug 28 Python
pycharm如何实现跨目录调用文件
Feb 28 Python
快速解决jupyter notebook启动需要密码的问题
Apr 21 Python
keras slice layer 层实现方式
Jun 11 Python
如何解决安装python3.6.1失败
Jul 01 Python
Python3.7安装PyQt5 运行配置Pycharm的详细教程
Oct 15 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文档更新介绍
2011/07/22 PHP
有关php运算符的知识大全
2011/11/03 PHP
基于PHP遍历数组的方法汇总分析
2013/06/08 PHP
2014过年倒计时示例
2014/01/31 PHP
php第一次无法获取cookie问题处理
2014/12/15 PHP
javascript数组与php数组的地址传递及值传递用法实例
2015/01/22 PHP
php和asp语法上的区别总结
2019/05/12 PHP
SwfUpload在IE10上不出现上传按钮的解决方法
2013/06/25 Javascript
Js中获取frames中的元素示例代码
2013/07/30 Javascript
jquery获取元素值的方法(常见的表单元素)
2013/11/15 Javascript
JS获取iframe中longdesc属性的方法
2015/04/01 Javascript
AngularJs Understanding the Model Component
2016/09/02 Javascript
javascript加载xml 并解析各节点的值(实现方法)
2016/10/12 Javascript
适用于手机端的jQuery图片滑块动画
2016/12/09 Javascript
JS操作xml对象转换为Json对象示例
2017/03/25 Javascript
详解使用vscode+es6写nodejs服务端调试配置
2017/09/21 NodeJs
vue2.x集成百度UEditor富文本编辑器的方法
2018/09/21 Javascript
vue实现菜单切换功能
2019/05/08 Javascript
javascript实现导航栏分页效果
2019/06/27 Javascript
jQuery实现html可联动的百分比进度条
2020/03/26 jQuery
vue项目打包后提交到git上为什么没有dist这个文件的解决方法
2020/09/16 Javascript
[01:56]林书豪DOTA2上海特级锦标赛励志短片
2016/03/05 DOTA
[02:10]2018DOTA2亚洲邀请赛赛前采访-Liquid
2018/04/03 DOTA
在python中使用requests 模拟浏览器发送请求数据的方法
2018/12/26 Python
Python实现元素等待代码实例
2019/11/11 Python
wxPython窗体拆分布局基础组件
2019/11/19 Python
python实现用类读取文件数据并计算矩形面积
2020/01/18 Python
Python pandas对excel的操作实现示例
2020/07/21 Python
ghd法国官方网站:英国最受欢迎的美发工具品牌
2019/04/18 全球购物
设计部经理的岗位职责
2013/11/16 职场文书
优秀教师感人事迹材料
2014/05/04 职场文书
社区党员公开承诺书
2014/08/30 职场文书
交通事故案件代理词
2015/05/23 职场文书
2015年高中语文教学总结
2015/08/18 职场文书
Vue Element UI自定义描述列表组件
2021/05/18 Vue.js
Python+Matplotlib+LaTeX玩转数学公式
2022/02/24 Python