Python:如何知道容器中是否存在类的实例化?
我对python还很陌生,我还没有想出如何解决这个简单的问题。我做了一些研究,但要么我没有发现,要么我不知道该怎么办。。。我的问题是: 如何知道容器(如列表)中是否存在类的实例; 我想做一些像Python:如何知道容器中是否存在类的实例化?,python,Python,我对python还很陌生,我还没有想出如何解决这个简单的问题。我做了一些研究,但要么我没有发现,要么我不知道该怎么办。。。我的问题是: 如何知道容器(如列表)中是否存在类的实例; 我想做一些像 if class in list : 我知道这是一个非常简单的问题,但老实说,我找不到合适的语法来让它工作:/使用内置函数 flag = False for obj in your_list: if isinstance(obj, class): flag = True
if class in list :
我知道这是一个非常简单的问题,但老实说,我找不到合适的语法来让它工作:/使用内置函数
flag = False
for obj in your_list:
if isinstance(obj, class):
flag = True
break
或
您可以使用
isinstance
内置函数测试对象是否是某个类的实例化,使用any
内置函数测试iterable的任何成员是否符合您的条件:
>>> class A:
pass
>>> stuff = [1,2,A()]
>>> any(isinstance(a, A) for a in stuff)
True
仅供参考:Python中的所有对象都是某种类型的类的实例化(甚至类本身也是如此!),因此没有必要查看列表中的对象是否是任何类的实例化,由于列表
中的所有内容都将是。在任何调用中都不需要方括号。类
在Python中是一个关键字,不要将其用作标识符。为什么要查找?Python代码通常遵循这种风格。嗯,明白你的意思了吧,我的意思是一个类一个类地实例化这个类,但多亏了你们,它现在可以工作了!
>>> class A:
pass
>>> stuff = [1,2,A()]
>>> any(isinstance(a, A) for a in stuff)
True