博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python 单例模式
阅读量:5022 次
发布时间:2019-06-12

本文共 2038 字,大约阅读时间需要 6 分钟。

编程中,有许多设计模式,在学习python中,第一次接触到了单例模式.

单例模式应用场景:

同一个类中相同的方法和变量,因为需求,需要多次创建.

多次创建同一个实例,极大的浪费内存.

静态方法,静态变量.

注意:下面的代码运行在py27版本中

1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 from wsgiref.simple_server import make_server 4 def RunServer(environ,start_response): 5     start_response(status="200 ok",headers=[('Content-Type','text/html')]) 6     url=environ['PATH_INFO'] 7     return "OldBoy xurui" 8 if __name__ == '__main__': 9     httpd = make_server('',8000,RunServer)10     print("Serving HTTP on port 8000....")11     httpd.serve_forever()
简单的web服务
1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 from wsgiref.simple_server import make_server 4 import random 5 class connPool: 6     __instance =None 7     def __init__(self): 8         self.ip = '1.1.1.1' 9         self.port = 330610         self.pwd = "123456"11         self.username="root"12         self.conList = [1,2,3,4,5,6,7,8,9]13     @staticmethod14     def getInstance():15         if connPool.__instance:16             return connPool.__instance17         else:18             connPool.__instance=connPool()19             return connPool.__instance20     def getConn(self):21         #获取连接22         # print(self.conList)23         res = random.randrange(1,11)24         return res25 def index():26     # obj = connPool()  ##创建了多个实例27     # print(obj)28     p = connPool.getInstance() ##创建一个同一个实例/对象29     print(p)30     return "index11111"31 def news():32     return "news22222"33 def RunServer(environ,start_response):34     start_response(status="200 ok",headers=[('Content-Type','text/html')])35     url=environ['PATH_INFO']36     print(url)37     if url.endswith("index"):38         ret = index()39         return ret40     elif url.endswith("news"):41         ret = news()42         return ret43     else:44         return "404"45     return "OldBoy xurui1"46 if __name__ == '__main__':47     httpd = make_server('',8000,RunServer)48     print("Serving HTTP on port 8000....")49     httpd.serve_forever() ##
单例模式代码

 

转载于:https://www.cnblogs.com/xu-rui/p/6428330.html

你可能感兴趣的文章
集合1
查看>>
js 原生 ajax
查看>>
关键词 virtual
查看>>
建造者模式(屌丝专用)
查看>>
UVALive 4730 Kingdom +段树和支票托收
查看>>
[APIO2010]特别行动队
查看>>
[SCOI2016]幸运数字
查看>>
SpringBoot 集成ehcache
查看>>
初步swift语言学习笔记2(可选类型?和隐式可选类型!)
查看>>
Nginx + Tomcat 反向代理 如何在高效的在一台服务器部署多个站点
查看>>
在Vs2012 中使用SQL Server 2012 Express LocalDB打开Sqlserver2012数据库
查看>>
在Macos下完美解决Adobe Dreamweaver CC 2018 汉化及操作方法
查看>>
【转】 Newtonsoft.Json高级用法
查看>>
CodeBlocks X64 SVN 编译版
查看>>
Excel催化剂开源第42波-与金融大数据TuShare对接实现零门槛零代码获取数据
查看>>
bug记录_signalr执行$.connnection.testhub结果为空
查看>>
【转】常用的latex宏包
查看>>
[TMS320C674x] 一、GPIO认识
查看>>
酷狗的皮肤文件存放在哪
查看>>
iOS RunLoop简介
查看>>