小编Jav*_*cia的帖子

Python单例模式

有人可以告诉我为什么这是不正确的单身人士模式:

class preSingleton(object):
    def __call__(self):
        return self

singleton = preSingleton()

# singleton is actually the singleton

a = singleton()
b = singleton()

print a==b  

a.var_in_a = 100
b.var_in_b = 'hello'

print a.var_in_b
print b.var_in_a
Run Code Online (Sandbox Code Playgroud)

编辑:上面的代码打印:

True
hello
100
Run Code Online (Sandbox Code Playgroud)

非常感谢你

第二部分

也许这更好?

class Singleton(object):
    def __new__(cls):
        return cls

a = Singleton()
b = Singleton()

print a == b

a.var_in_a = 100
b.var_in_b = 'hello'

print a.var_in_b
print b.var_in_a
Run Code Online (Sandbox Code Playgroud)

编辑:上面的代码打印:

True
hello
100
Run Code Online (Sandbox Code Playgroud)

再次感谢.

python singleton

3
推荐指数
1
解决办法
2065
查看次数

标签 统计

python ×1

singleton ×1