检查对象是否已实例化

时间:2018-10-10 16:13:34

标签: python python-3.x class object instance

我一直遇到一个问题,我必须检查对象是否已为类实例化或是否已创建变量。

例如,如果从未创建变量frog

bool(frog)

我得到一个未定义的错误-我可能应该在那里使用type(frog),但是同样的错误bool(frog)听起来更有趣。相反,如果我写

'frog' in dir()

我将得到False作为输出。很好,但是更常见的是,我遇到了对象的问题,因为我有条件地实例化它们,但我不知道它们的名字(就像它们在列表中一样)。考虑一个来自

的对象
class beatle(object):

    def __init__(self, name):
        self.name = name

b1 = beatle('Ringo')

现在,如果仅在某些情况下在我的代码的很远的部分中发生了这种情况,而我不知道object被称为b1,该如何检查是否有一个实例? beatle曾经发生?如果我检查dir(),就无法通过名称分辨出任何成员dir()实际上是披头士乐队-还是可能是披头士乐队列表。对我来说,问题是dir()<class str>的列表,因此我认为它不能满足我的需求。我考虑过只在创建对象的任何条件中添加一些bool类型指示器,但这似乎太“硬汉”了。


编辑:这里有个大修改,因为自从上一篇文章以来我一直在改进编码,并且我在努力避免禁止提问,因此我对此表示歉意,以免混淆任何人的原始评论。

0 个答案:

没有答案