python设计模式大全


Posted in Python onJune 27, 2016

本文实例讲述了python常见的设计模式。分享给大家供大家参考,具体如下:

# #!/usr/bin/env python
# # -*- coding:utf-8
#
# class HttpBase:
#   def get(self):
#     psss
# class Http1(HttpBase):
#   def get(self):
#     print 'http1'
# class Http2(HttpBase):
#   def get(self):
#     print 'http2'
#
#
# class Base:
#   def __init__(self):
#     self.httpobj = None
#   def http(self):
#     self.httpobj.get()
#   def compute(self):
#     self.http()
#     self.show()
#   #虚函数
#   def show(self):
#     pass
#   def notify(self, k):
#     print 'notify', k
#
#
# #桥接模式,通过A,B 关联不同的http1和http2
# class BaseA(Base):
#   def __init__(self):
#     self.httpobj = Http1()
#   def notify(self, k):
#     print 'A notify', k
#   def show(self):
#     print 'show a'
#
# class BaseB(Base):
#   def __init__(self):
#     self.httpobj = Http2()
#   def notify(self, k):
#     print 'B notify', k
#   def show(self):
#     print 'show b'
#
# #观测者模式
# class Observer:
#   def __init__(self):
#     self.listOB = []
#   def register(self, obj):
#     self.listOB.append(obj)
#   def notify(self):
#     for obj in self.listOB:
#       obj.notify(len(self.listOB))
#
# #适配器模式
# class B1:
#   def http(self):
#     BaseB().http()
# #工厂模式
# class Factory:
#   def CreateA(self):
#     return BaseA()
#   def CreateB(self):
#     return BaseB()
#
#
# #单例模式
# class Logger(object):
#   log = None
#   @staticmethod
#   def new():
#
#     import threading
#     #线程安全
#     mylock = threading.RLock()
#     mylock.acquire()
#     if not Logger.log:
#       Logger.log = Logger()
#     mylock.release()
#
#     return Logger.log
#   def write(self, v):
#     print 'Logger ', v
#
# if __name__ == "__main__":
#   a = Factory().CreateA()
#   b = Factory().CreateB()
#
#   objS = Observer()
#   objS.register(a)
#   objS.register(b)
#
#   a.compute()
#   b.compute()
#   objS.notify()
#
#   b1 = B1()
#   b1.http()
#
#   Logger.new().log.write('v')

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
python网络编程之UDP通信实例(含服务器端、客户端、UDP广播例子)
Apr 25 Python
Python实现的多线程http压力测试代码
Feb 08 Python
Python中Django发送带图片和附件的邮件
Mar 31 Python
python删除本地夹里重复文件的方法
Nov 19 Python
pandas 数据归一化以及行删除例程的方法
Nov 10 Python
python格式化输出保留2位小数的实现方法
Jul 02 Python
python进程池实现的多进程文件夹copy器完整示例
Nov 27 Python
python求绝对值的三种方法小结
Dec 04 Python
如何通过python实现全排列
Feb 11 Python
python使用python-pptx删除ppt某页实例
Feb 14 Python
在keras中model.fit_generator()和model.fit()的区别说明
Jun 17 Python
浅谈Python数学建模之固定费用问题
Jun 23 Python
Python处理JSON时的值报错及编码报错的两则解决实录
Jun 26 #Python
Python使用自带的ConfigParser模块读写ini配置文件
Jun 26 #Python
Python读写txt文本文件的操作方法全解析
Jun 26 #Python
Python实现快速排序算法及去重的快速排序的简单示例
Jun 26 #Python
python结合selenium获取XX省交通违章数据的实现思路及代码
Jun 26 #Python
理解生产者消费者模型及在Python编程中的运用实例
Jun 26 #Python
python安装mysql-python简明笔记(ubuntu环境)
Jun 25 #Python
You might like
聊天室php&mysql(三)
2006/10/09 PHP
PHP 检查扩展库或函数是否可用的代码
2010/04/06 PHP
php地址引用(php地址引用的效率问题)
2012/03/23 PHP
深入分析PHP优化及注意事项
2016/07/04 PHP
IE8 浏览器Cookie的处理
2009/01/31 Javascript
JavaScript通过select动态更换图片的方法
2015/03/23 Javascript
jQuery实现订单提交页发送短信功能前端处理方法
2016/07/04 Javascript
Bootstarp基本模版学习教程
2017/02/01 Javascript
基于JavaScript实现图片剪切效果
2017/03/07 Javascript
Vue-Cli中自定义过滤器的实现代码
2017/08/12 Javascript
jackson解析json字符串,首字母大写会自动转为小写的方法
2017/12/22 Javascript
webpack4简单入门实例
2018/09/06 Javascript
webpack4与babel配合使es6代码可运行于低版本浏览器的方法
2018/10/12 Javascript
JavaScript常用事件介绍
2019/01/21 Javascript
微信小程序实现多选框全选与反全选及购物车中删除选中的商品功能
2019/12/17 Javascript
vue跳转页面的几种方法(推荐)
2020/03/26 Javascript
Vue中key的作用示例代码详解
2020/06/10 Javascript
[01:54]TI珍贵瞬间系列(三):翻盘
2020/08/28 DOTA
利用Python批量压缩png方法实例(支持过滤个别文件与文件夹)
2017/07/30 Python
python在文本开头插入一行的实例
2018/05/02 Python
解决Python获取字典dict中不存在的值时出错问题
2018/10/17 Python
Django中Middleware中的函数详解
2019/07/18 Python
python for循环remove同一个list过程解析
2019/08/14 Python
Python requests模块安装及使用教程图解
2020/06/30 Python
Python数据可视化实现多种图例代码详解
2020/07/14 Python
Python读取Excel一列并计算所有对象出现次数的方法
2020/09/04 Python
Python模拟登录requests.Session应用详解
2020/11/17 Python
英国在线汽车和面包车零件商店:Car Parts 4 Less
2018/08/15 全球购物
在阿联酋购买翻新手机和平板电脑:Teckzu
2021/02/12 全球购物
材料采购员岗位职责
2013/12/17 职场文书
人事专员岗位说明书
2014/07/29 职场文书
2014年个人工作总结报告
2014/11/27 职场文书
汇报材料怎么写
2014/12/30 职场文书
给病人的慰问信
2015/03/23 职场文书
党员反邪教心得体会
2016/01/15 职场文书
python 调用js的四种方式
2021/04/11 Python