python 怎么判断一个类是否被实例化,能给出代码学习下吗,谢谢!

要判断比如说A类的实例如果不存在,则创建。... 要判断比如说A类的实例如果不存在,则创建。 展开
 我来答
frostfish425
推荐于2016-12-01 · TA获得超过124个赞
知道小有建树答主
回答量:190
采纳率:0%
帮助的人:123万
展开全部
这个类似于单例模式吧

print '----------------------方法1--------------------------'
#方法1,实现__new__方法
#并在将一个类的实例绑定到类变量_instance上,
#如果cls._instance为None说明该类还没有实例化过,实例化该类,并返回
#如果cls._instance不为None,直接返回cls._instance
class Singleton(object):
def __new__(cls, *args, **kw):
if not hasattr(cls, '_instance'):
orig = super(Singleton, cls)
cls._instance = orig.__new__(cls, *args, **kw)
return cls._instance

class MyClass(Singleton):
a = 1

one = MyClass()
two = MyClass()

two.a = 3
print one.a
#3
#one和two完全相同,可以用id(), ==, is检测
print id(one)
#29097904
print id(two)
#29097904
print one == two
#True
print one is two
#True
匿名用户
2013-10-09
展开全部
按你的正文描述,感觉像是单例模式。
按你的标题描述"怎么判断一个类是否被实例化"且如果非单例的话,可能就得给类加装饰器了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式