轻松掌握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 相关文章推荐
win7安装python生成随机数代码分享
Dec 27 Python
Python列表切片用法示例
Apr 19 Python
python中kmeans聚类实现代码
Feb 23 Python
django中模板的html自动转意方法
May 27 Python
使用python接入微信聊天机器人
Mar 31 Python
python3+PyQt5 自定义窗口部件--使用窗口部件样式表的方法
Jun 26 Python
Python Web框架之Django框架Model基础详解
Aug 16 Python
python使用Matplotlib改变坐标轴的默认位置
Oct 18 Python
爬虫代理池Python3WebSpider源代码测试过程解析
Dec 20 Python
基于python实现文件加密功能
Jan 06 Python
python列表推导和生成器表达式知识点总结
Jan 10 Python
Python本地及虚拟解释器配置过程解析
Oct 13 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封装分页工具类
2017/01/14 PHP
PHP simplexml_import_dom()函数讲解
2019/02/03 PHP
JavaScript 函数调用规则
2009/09/14 Javascript
推荐9款炫酷的基于jquery的页面特效
2014/12/07 Javascript
浅谈javascript中的call、apply、bind
2016/03/06 Javascript
项目实践一图片上传之form表单还是base64前端图片压缩(前端图片压缩)
2016/07/28 Javascript
Javascript日期格式化format函数的使用方法
2016/08/30 Javascript
jQuery简单创建节点的方法
2016/09/09 Javascript
canvas实现环形进度条效果
2017/03/23 Javascript
原生js实现移动端Touch轮播图的方法步骤
2019/01/03 Javascript
echarts多条折线图动态分层的实现方法
2019/05/24 Javascript
使用Promise封装小程序wx.request的实现方法
2019/11/13 Javascript
Python多线程编程(三):threading.Thread类的重要函数和方法
2015/04/05 Python
浅谈python中的__init__、__new__和__call__方法
2017/07/18 Python
python利用socketserver实现并发套接字功能
2018/01/26 Python
Python学习笔记之视频人脸检测识别实例教程
2019/03/06 Python
在Python中使用Neo4j的方法
2019/03/14 Python
简单了解python中对象的取反运算符
2019/07/01 Python
python爬虫 爬取58同城上所有城市的租房信息详解
2019/07/30 Python
基于python解线性矩阵方程(numpy中的matrix类)
2019/10/21 Python
关于Python中定制类的比较运算实例
2019/12/19 Python
通过python实现windows桌面截图代码实例
2020/01/17 Python
新手学python应该下哪个版本
2020/06/11 Python
CSS3 text shadow字体阴影效果
2016/01/08 HTML / CSS
整理HTML5的一些新特性与Canvas的常用属性
2016/01/29 HTML / CSS
Melijoe美国官网:法国奢侈童装购物网站
2017/04/19 全球购物
DC Shoes官网:美国滑板鞋和服饰品牌
2017/09/03 全球购物
英国历史最悠久的DJ设备供应商:DJ Finance、DJ Warehouse、The DJ Shop
2019/09/04 全球购物
联谊活动策划书
2014/01/26 职场文书
宿舍违规用电检讨书
2014/02/16 职场文书
学校招生宣传广告词
2014/03/19 职场文书
机动车登记业务委托书
2014/10/08 职场文书
学习十八大标语
2014/10/09 职场文书
九不准学习心得体会
2016/01/23 职场文书
Python requests库参数提交的注意事项总结
2021/03/29 Python
golang如何去除多余空白字符(含制表符)
2021/04/25 Golang