为了账号安全,请及时绑定邮箱和手机立即绑定

在类的实例化期间如何检查该类的对象是否已经存在,如果存在,则指向已经存在的对象?

在类的实例化期间如何检查该类的对象是否已经存在,如果存在,则指向已经存在的对象?

人到中年有点甜 2021-07-13 17:18:12
我在一次采访中被问到这个问题。我试图做的是如下:class A:    l = []    def __init__(self):        if len(A.l)==0:            A.l.append(self)        else:            return A.l[0]a = A()b = A()我回到家并运行了这段代码,发现它不起作用。所以我想知道解决这个问题的正确方法是什么。预期的结果是A()第二次调用时,b应该指向已经存储的对象a(第一个创建的对象)。
查看完整描述

1 回答

?
幕布斯6054654

TA贡献1876条经验 获得超7个赞

你想实现像单例这样的东西。最简单的方法是覆盖__new__而不是__init__.


查看完整回答
反对 回复 2021-07-28
  • 1 回答
  • 0 关注
  • 187 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号