python 单例模式的实现
2015-12-02 12:49
513 查看
单例模式是类 只实例化出一个该类的实例。
1.把实例变量绑定到类。
class A(object):
def init(cls):
if not hasattr(cls, "_instance"):
cls._instance=B()
这样能保证B()只执行一次,但A()仍然会执行多次。如果把定义init方法变成重写__new__方法,则可以保证A()也只执行一次。因为 new才是去创造对象,init不是创造对象,是初始化对象的值,即,虽然只有一个实例,但是可以多次初始化这个实例包含的成员的值。
参考:
http://ghostfromheaven.iteye.com/blog/1562618
1.把实例变量绑定到类。
class A(object):
def init(cls):
if not hasattr(cls, "_instance"):
cls._instance=B()
这样能保证B()只执行一次,但A()仍然会执行多次。如果把定义init方法变成重写__new__方法,则可以保证A()也只执行一次。因为 new才是去创造对象,init不是创造对象,是初始化对象的值,即,虽然只有一个实例,但是可以多次初始化这个实例包含的成员的值。
参考:
http://ghostfromheaven.iteye.com/blog/1562618
相关文章推荐
- Supporting Python 3(支持python3)——重组和重命名
- Learn Python the Hard Way
- NLTK安装教程
- Python argparse
- Python与硬件学习笔记:红外避障红外避障传感器
- 使用镜像服务器加速你的Python PyPi
- Windows下Python包和模块的安装方法
- 【python】正则表达式-正则表达式常见的字符和符号表
- Solution for link error:Cannot Open File 'python27_d.lib'
- Python程序的执行原理
- 最全Pycharm教程(5)——Python快捷键相关设置
- Python之ftp的用法整理
- python类的定义的学习
- LeetCode----Isomorphic Strings
- python自动化测试(2)-自动化基本技术原理
- Windows7上配置Python Protobuf 操作步骤
- Windows7上配置Python Protobuf 操作步骤
- python语言scrapy爬虫的使用
- python操作MySQL数据库
- Python Tips 持续更新