轻松掌握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实现的HTTP并发测试完整示例
Apr 23 Python
Python日期时间模块datetime详解与Python 日期时间的比较,计算实例代码
Sep 14 Python
Python3爬虫使用Fidder实现APP爬取示例
Nov 27 Python
Django集成CAS单点登录的方法示例
Jun 10 Python
解决Python安装时报缺少DLL问题【两种解决方法】
Jul 15 Python
解决Django一个表单对应多个按钮的问题
Jul 18 Python
python多继承(钻石继承)问题和解决方法简单示例
Oct 21 Python
python名片管理系统开发
Jun 18 Python
python pandas dataframe 去重函数的具体使用
Jul 20 Python
python中zip()函数遍历多个列表方法
Feb 18 Python
关于探究python中sys.argv时遇到的问题详解
Feb 23 Python
在 Golang 中实现 Cache::remember 方法详解
Mar 30 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
使用Linux五年积累的一些经验技巧
2013/06/20 PHP
ThinkPHP验证码使用简明教程
2014/03/05 PHP
php多重接口的实现方法
2015/06/20 PHP
PHP常用的排序和查找算法
2015/08/06 PHP
PHP使用内置函数生成图片的方法详解
2016/05/09 PHP
php通过PHPExcel导入Excel表格到MySQL数据库的简单实例
2016/10/29 PHP
Yii2.0中使用js异步删除示例
2017/03/10 PHP
php str_getcsv把字符串解析为数组的实现方法
2017/04/05 PHP
PHP实现的权重算法示例【可用于游戏根据权限来随机物品】
2019/02/15 PHP
PHP操作XML中XPath的应用示例
2019/07/04 PHP
laravel框架中控制器的创建和使用方法分析
2019/11/23 PHP
JavaScript高级程序设计 阅读笔记(四) ECMAScript中的类型转换
2012/02/27 Javascript
gridpanel动态加载数据的实例代码
2013/07/18 Javascript
查找iframe里元素的方法可传参
2013/09/11 Javascript
javascript自定义in_array()函数实现方法
2015/08/03 Javascript
跟我学习javascript的call(),apply(),bind()与回调
2015/11/16 Javascript
轻松实现javascript图片轮播特效
2016/01/13 Javascript
JS选取DOM元素的简单方法
2016/07/08 Javascript
不间断循环滚动效果的实例代码(必看篇)
2016/10/08 Javascript
js实现将json数组显示前台table中
2017/01/10 Javascript
浅谈vue的iview列表table render函数设置DOM属性值的方法
2017/09/30 Javascript
JS实现的透明度渐变动画效果示例
2018/04/28 Javascript
vue实现设置载入动画和初始化页面动画效果
2019/10/28 Javascript
nodejs中使用archive压缩文件的实现代码
2019/11/26 NodeJs
JS字符串补全方法padStart()和padEnd()
2020/05/27 Javascript
python实现k均值算法示例(k均值聚类算法)
2014/03/16 Python
Python实现图片滑动式验证识别方法
2017/11/09 Python
Python实现模拟登录网易邮箱的方法示例
2018/07/05 Python
Python实现的连接mssql数据库操作示例
2018/08/17 Python
python多线程分块读取文件
2019/08/29 Python
完美解决jupyter由于无法import新包的问题
2020/05/26 Python
英国鞋类及配饰零售商:Kurt Geiger
2017/02/04 全球购物
意大利奢侈品牌在线精品店:Jole.it
2020/11/23 全球购物
eHarmony英国:全球领先的认真恋爱约会平台之一
2020/11/16 全球购物
加工操作管理制度
2014/01/19 职场文书
Python学习之迭代器详解
2022/04/01 Python