一、知识点拾遗

  1、多继承的易错点

二、设计模式

1、设计模式介绍

  Gof设计模式

  大话设计模式

2、单例模式

  1. 当所有实例中封装的数据相同时,使用单例模式
  2. 静态方法+静态字段
  3. 单例就是只有一个实例

    a。创建单例模式应用场景和实例

      ①创建一个数据库连接池

 class ConnectionPool

     __instance=None

     def__init__(self):
self.ip="1.1.1.1"
self.port=3307
self.pwd=""
self.username="minmin"
self.conn_list=[1,2,3,4,5,6,7,8,9,10] @staticmethond
def get_instance():
if ConnectionPool.__instance:
return ConnectionPool.__instance
else:
#/创建一个对象,并将对象赋值给静态字段__instance
ConnectionPool.__instance=ConnectionPool()
return ConnectionPool.__instance def get_coonection(self):
#获取连接
import random
r = random.randrange(1,11)
return r obj1=ConnectPool.get_instance()
print(obj1)
obj2=ConnectPool.get_instance()
print(obj2)
obj3=ConnectPool.get_instance()
print(obj3)

      ②创建web站点并应用单例模式

 #!/usr/bin/env python
# -*- coding: utf-8 -*- form wsgiref.simple_server import make_server
import random
class ConnectionPool: __instance = None def __init__(self):
self.ip = "1.1.1.1"
self.port=3307
self.pwd=""
self.username=""
self.conn_list = [1, 2, 3, 4, 5, 6, 7, 8, 9,10] @staticmethod
def get_instance():
if ConnectionPool.__instance:
return ConnectionPool.__instance
else: # 创建一个对象,并将对象赋值给静态字段__instance
ConnectionPool.__instance = ConnectionPool()
return ConnectionPool.__instance def get_connection(self):
#获取连接
r = random.randrange(1,11)
return r def index():
p = ConnectionPool.get_instance()
print(p)
conn = ConnectionPool.get_connection()
return ""+str(conn) def news():
return ""
def RunServer(environ,start_response):
start_response(status='200 OK',headers=[('Content-Type','text/html')])
url=environ['PATH_INFO']
if url.endswith('index'):
ret = index()
return ret
elif url.endswith('news'):
ret = news()
return ret
else:
return '' if __name__=='__main__':
httpd=make_server('', 8000, RunServer)
print("Serving HTTP on port 8000.....")
httpd.serve_forever()单例单例

code

      

    

  

python之路之面向对象3的更多相关文章

  1. (转)Python之路,Day6 - 面向对象学习

    本节内容:   面向对象编程介绍 为什么要用面向对象进行开发? 面向对象的特性:封装.继承.多态 类.方法.     引子 你现在是一家游戏公司的开发人员,现在需要你开发一款叫做<人狗大战> ...

  2. Python之路,Day6 - 面向对象学习

    本节内容:   面向对象编程介绍 为什么要用面向对象进行开发? 面向对象的特性:封装.继承.多态 类.方法. 引子 你现在是一家游戏公司的开发人员,现在需要你开发一款叫做<人狗大战>的游戏 ...

  3. Python之路: 面向对象

    Python是一门面向对象的语言,所以在Python中创建一个类和对象是很容易的.接下来了解一下面像对象的一些基本特征. 面向对象技术简介 类(class):描述具有相同的属性和方法的对象的集合.定义 ...

  4. 转:Python之路,Day6 - 面向对象学习

    这篇文章写的不错,转来收了 转自:http://www.cnblogs.com/alex3714/articles/5188179.html   本节内容:   面向对象编程介绍 为什么要用面向对象进 ...

  5. 十一Python之路,Day6 - 面向对象学习

      本节内容:   面向对象编程介绍 为什么要用面向对象进行开发? 面向对象的特性:封装.继承.多态 类.方法.     引子 你现在是一家游戏公司的开发人员,现在需要你开发一款叫做<人狗大战& ...

  6. python之路--初识面向对象

    一 . 初识面向对象 面向过程: 一切以事务的发展流程为中心. 面向对象: 一切以对象为中心. 一切皆为对象. 具体的某一个事务就是对象 打比方: 大象进冰箱 步骤: 第一步, 开门, 第二步, 装大 ...

  7. python之路----初识面向对象(二)

    类命名空间与对象.实例的命名空间 创建一个类就会创建一个类的名称空间,用来存储类中定义的所有名字,这些名字称为类的属性 而类有两种属性:静态属性和动态属性 静态属性就是直接在类中定义的变量 动态属性就 ...

  8. Python之路:面向对象及相关

    其他相关 一.isinstance(obj, cls) 检查是否obj是否是类 cls 的对象 class Foo(object):     pass   obj = Foo()   isinstan ...

  9. python之路之面向对象

    一.编程 1.面向对象编程和函数式编程 a.面向对象编程之self(重点) b.面向对象的封装  c.继承 (1)继承的优先级 d.重载 e.多态  2.查看socketserver源码执行过程

随机推荐

  1. 三种比较好玩的黑客效果JS代码(摘取)

    <html> <head> <title>The Matrix</title> <script src="http://ajax.goo ...

  2. .net core 简单定时程序

    using Microsoft.Extensions.Configuration; using Microsoft.Extensions.Hosting; using Orleans; using S ...

  3. UniGUI之UniLabel(31)

    1]改变文本Caption 2]改变颜色字体Font 3]点击访问网址,OnClick事件 1]改变文本Caption unilabel1.Caption:='unilabel1文本'; 2]改变颜色 ...

  4. Java设计模式(四)工厂方法模式

    定义与类型 定义:定义一个创建对象的接口,但让实现这个接口的类来决定实例化哪个类,工厂方法让类的实例化推迟到子类中进行. 类型:创建型 适用场景 创建对象需要大量重复的代码 客户端(应用层)不依赖于产 ...

  5. H5_0012:js事件冒泡和捕获

    捕获(capture)和冒泡(bubble)是事件传播过程中的两个概念, 比如用户单击某个元素, 但由于元素处于父元素内, 该父元素又处于document对象中, document对象又处于windo ...

  6. Python instagram 爬虫项目

    直接介绍一下具体的步骤以及注意点: instagram 爬虫注意点 instagram 的首页数据是 服务端渲染的,所以首页出现的 11 或 12 条数据是以 html 中的一个 json 结构存在的 ...

  7. 八连通(vector动态数组法)

    题目和一般的八连通一样,但行数和列数未定,相乘对于1e6,直接开a[1e6][1e6]的数组肯定会爆内存.用二维的动态vector就能很好的解决这个问题 #include<bits/stdc++ ...

  8. MDK Debug (printf) Viewer打印数据

    1.Target Options -> Debug -> Settings(JLink) -> Debug里ort选择SW模式 2.在Target Options -> Deb ...

  9. HDU 4544 湫湫系列故事——消灭兔子 (优先队列)

    湫湫减肥  越减越肥!    最近,减肥失败的湫湫为发泄心中郁闷,在玩一个消灭免子的游戏.  游戏规则很简单,用箭杀死免子即可.  箭是一种消耗品,已知有M种不同类型的箭可以选择,并且每种箭都会对兔子 ...

  10. 远程执行本地脚本_linux

    一.远程执行脚本 1.免机器指纹确认(无需填写yes/no) ssh -o StrictHostKeyChecking=no root@192.168.108.78 2.远程执行本地脚本 ssh -o ...