轻松掌握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动态性强类型用法实例
May 09 Python
Python编程中实现迭代器的一些技巧小结
Jun 21 Python
在Python web中实现验证码图片代码分享
Nov 09 Python
Python工程师面试必备25条知识点
Jan 17 Python
Python3中正则模块re.compile、re.match及re.search函数用法详解
Jun 11 Python
Python生成MD5值的两种方法实例分析
Apr 26 Python
详解Python 定时框架 Apscheduler原理及安装过程
Jun 14 Python
详解Python 调用C# dll库最简方法
Jun 20 Python
Pandas实现dataframe和np.array的相互转换
Nov 30 Python
python线性插值解析
Jul 05 Python
Python中的None与 NULL(即空字符)的区别详解
Sep 24 Python
pycharm激活码2020最新分享适用pycharm2020最新版亲测可用
Nov 22 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
PHP5在Apache下的两种模式的安装
2006/09/05 PHP
php中判断数组相等的方法以及数组运算符介绍
2015/03/30 PHP
Session 失效的原因汇总及解决丢失办法
2015/09/30 PHP
php中array_unshift()修改数组key注意事项分析
2016/05/16 PHP
PHP开发APP端微信支付功能
2017/02/17 PHP
在网页中控制wmplayer播放器
2006/07/01 Javascript
js 编写规范
2010/03/03 Javascript
改写一个简单的菜单 弹性大小
2010/12/02 Javascript
jQuery-serialize()输出序列化form表单值的方法
2012/12/26 Javascript
深入理解Javascript作用域与变量提升
2013/12/09 Javascript
Javascript中数组sort和reverse用法分析
2014/12/30 Javascript
浅析Node.js中使用依赖注入的相关问题及解决方法
2015/06/24 Javascript
关于JavaScript中的this指向问题总结篇
2017/07/23 Javascript
python数据库操作常用功能使用详解(创建表/插入数据/获取数据)
2013/12/06 Python
Perl中著名的Schwartzian转换问题解决实现
2015/06/02 Python
改进Django中的表单的简单方法
2015/07/17 Python
简单介绍使用Python解析并修改XML文档的方法
2015/10/15 Python
在Linux系统上通过uWSGI配置Nginx+Python环境的教程
2015/12/25 Python
Python和JavaScript间代码转换的4个工具
2016/02/22 Python
对Python3 * 和 ** 运算符详解
2019/02/16 Python
Python3实现从排序数组中删除重复项算法分析
2019/04/03 Python
tensorflow实现二维平面模拟三维数据教程
2020/02/11 Python
python爬虫用request库处理cookie的实例讲解
2021/02/20 Python
英国口碑最好的的维他命胶囊品牌:Myvitamins(有中文站)
2016/12/03 全球购物
美国专业消费电子及摄影器材网站:B&H Photo Video
2019/12/18 全球购物
皇家阿尔伯特瓷器美国官网:Royal Albert美国
2020/02/16 全球购物
htmlentities() 和 htmlspecialchars()有什么区别
2015/07/01 面试题
促销活动方案模板
2014/02/24 职场文书
低碳生活的宣传标语
2014/06/23 职场文书
戒毒悔改检讨书
2014/09/21 职场文书
2014年小学数学教师工作总结
2014/12/03 职场文书
汽车转让协议书范本
2014/12/07 职场文书
家长通知书家长意见
2015/06/03 职场文书
《鲸》教学反思
2016/02/23 职场文书
蔬果开业典礼发言稿应该怎么写?
2019/09/03 职场文书
浅谈JavaScript作用域
2021/12/06 Javascript