轻松掌握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 相关文章推荐
python3模拟百度登录并实现百度贴吧签到示例分享(百度贴吧自动签到)
Feb 24 Python
python WindowsError的错误代码详解
Jul 23 Python
浅谈python中的占位符
Nov 09 Python
Python将多个excel文件合并为一个文件
Jan 03 Python
django 在原有表格添加或删除字段的实例
May 27 Python
Linux下python制作名片示例
Jul 20 Python
Django model序列化为json的方法示例
Oct 16 Python
Python使用folium excel绘制point
Jan 03 Python
python队列Queue的详解
May 10 Python
一篇文章弄懂Python中所有数组数据类型
Jun 23 Python
使用PyInstaller将Pygame库编写的小游戏程序打包为exe文件及出现问题解决方法
Sep 06 Python
python如何判断IP地址合法性
Apr 05 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中计算程序运行时间的类代码
2012/11/03 PHP
PHP基于GD库的图像处理方法小结
2016/09/27 PHP
php+Memcached实现简单留言板功能示例
2017/02/15 PHP
使用apply方法处理数组的三个技巧[译]
2012/09/20 Javascript
关于jQuery对象数据缓存Cache原理以及jQuery.data详解
2013/04/07 Javascript
jquery和ajax的关系详细介绍
2013/11/29 Javascript
jQuery的图片滑块焦点图插件整理推荐
2014/12/07 Javascript
JavaScript正则表达式匹配 div  style标签
2016/03/15 Javascript
JS前向后瞻正则表达式定义与用法示例
2016/12/27 Javascript
JS正则获取HTML元素的方法
2017/03/31 Javascript
React复制到剪贴板的示例代码
2017/08/22 Javascript
浅谈如何通过node.js对数据进行MD5加密
2018/05/16 Javascript
解决mui框架中switch开关通过js控制开或者关状态时小圆点不动的问题
2019/09/03 Javascript
javascript实现函数柯里化与反柯里化过程解析
2019/10/08 Javascript
[04:09]2014DOTA2国际邀请赛Ti西雅图 历届冠军相继出局 BBC综述今日比赛
2014/07/20 DOTA
粗略分析Python中的内存泄漏
2015/04/23 Python
Python获取央视节目单的实现代码
2015/07/25 Python
python引入导入自定义模块和外部文件的实例
2017/07/24 Python
利用python GDAL库读写geotiff格式的遥感影像方法
2018/11/29 Python
对python opencv 添加文字 cv2.putText 的各参数介绍
2018/12/05 Python
django开发post接口简单案例,获取参数值的方法
2018/12/11 Python
Python docx库用法示例分析
2019/02/16 Python
Python函数装饰器常见使用方法实例详解
2019/03/30 Python
django rest framework 实现用户登录认证详解
2019/07/29 Python
Win10系统下安装labelme及json文件批量转化方法
2019/07/30 Python
pandas数据选取:df[] df.loc[] df.iloc[] df.ix[] df.at[] df.iat[]
2020/04/24 Python
英国最大的电子产品和家电零售企业:Currys PC World
2016/09/24 全球购物
澳大利亚领先的在线药房:Pharmacy Online(有中文站)
2020/02/22 全球购物
Currentbody德国站:健康与美容技术专家
2020/04/05 全球购物
请写出char *p与"零值"比较的if语句
2014/09/24 面试题
怎样有效的进行自我评价
2013/10/06 职场文书
高中毕业自我鉴定
2013/12/13 职场文书
安全目标责任书
2014/07/22 职场文书
我爱幼儿园演讲稿
2014/09/11 职场文书
暑假社会实践证明格式
2014/10/28 职场文书
Python内置类型集合set和frozenset的使用详解
2022/04/26 Python