py 单例

简介:
代码
参考:http://www.python.org/dev/peps/pep-0318/
def  singleton(cls):
    instances 
=  {}
    
def  getinstance():
        
if  cls  not   in  instances:
        
print   " new "
            instances[cls] 
=  cls()
        
return  instances[cls]
    
return  getinstance

@singleton
class  MyClass:
    
pass


x1
= MyClass()
# print new
x2 = MyClass()
本文转自博客园刘凯毅的博客,原文链接:py 单例,如需转载请自行联系原博主。




目录
相关文章
|
23天前
|
设计模式 开发者 Python
Python类里引用其他类
Python类里引用其他类
18 4
|
27天前
|
Python
深入解析 Python 中的对象创建与初始化:__new__ 与 __init__ 方法
深入解析 Python 中的对象创建与初始化:__new__ 与 __init__ 方法
15 1
|
25天前
|
设计模式 开发者 Python
Python 类中引用其他类的实现详解
Python 类中引用其他类的实现详解
21 1
|
5月前
|
设计模式 存储 Java
JavaSE——面向对象高级一(2/4)-饿汉式单例、懒汉式单例、代码块、static的注意事项
JavaSE——面向对象高级一(2/4)-饿汉式单例、懒汉式单例、代码块、static的注意事项
28 0
|
设计模式 搜索推荐 开发者
Python单例模式(Singleton)的N种实现
单例模式保证了在程序的不同位置都可以且仅可以取到同一个对象实例:如果实例不存在,会创建一个实例;如果已存在就会返回这个实例。因为单例是一个类,所以你也可以为其提供相应的操作方法,以便于对这个实例进行管理。
#PY小贴士# 函数也是对象
这就要提到 Python 中的一个重要概念:万物皆对象。除了我们熟知的数字、字符、列表、字典是对象外,函数、模块,甚至类型本身,也是对象,只不过在功能和表现上会有所不同。
|
安全 Java
Qt单例:Qt有专门的宏Q_GLOBAL_STATIC,用来实现线程安全的单例模式
Qt单例:Qt有专门的宏Q_GLOBAL_STATIC,用来实现线程安全的单例模式
1145 0
|
设计模式 Python
21_python基础—单例和 __ new __ 方法
21_python基础—单例和 __ new __ 方法
78 0
21_python基础—单例和 __ new __ 方法
|
JavaScript Python
Py修饰器笔记
修饰器的主要功能是,在不改变已有代码的情况下,为某一个类,方法等扩展功能
170 0
|
C++ Python
python类对象和实例对象
类对象支持两种操作:属性引用和实例化。 属性引用 使用 Python 中所有属性引用所使用的标准语法: obj.name。 有效的属性名称是类对象被创建时存在于类命名空间中的所有名称。 因此,如果类定义是这样的: """A simple example class""" i = 12345 def f(self): return 'hello world' 那么 MyClass.i 和 MyClass.f 就是有效的属性引用,将分别返回一个整数和一个函数对象。