Bre*_*ett 13 python class exists
我有一个快速的问题.我有一个存储类实例的2D数组.基于先前在程序中读取的文本文件,为数组的元素分配特定的类.由于我不知道没有在文件中查找哪个类存储在特定元素中,我可以引用该索引中不存在的字段(指的是当temp的实例存储在该索引中时的外观).我已经想出了一种测试方法,但它很长,需要第二个矩阵.是否有一个函数来测试类中字段的存在?
class temp():
name = "default"
class temp1():
appearance = "@"
Run Code Online (Sandbox Code Playgroud)
Ale*_*lli 35
hasattr(x, 'foo')
是一个内置的二进制函数,它检查对象是否x
具有属性x.foo
(无论是否从类中获取),这似乎与您所要求的相近.你问的问题实际上是你应该问的问题是另一个问题 - 正如@Eli的回答所暗示的那样,你的设计似乎很奇怪.但是,这确实回答了你提出的问题;-).
您是否在寻找:
isinstance(对象,类信息)
如果对象参数是 classinfo 参数或其(直接或间接)子类的实例,则返回 true。如果 classinfo 是类型对象(新式类)并且 object 是该类型或其(直接或间接)子类的对象,也返回 true。如果 object 不是类实例或给定类型的对象,则该函数始终返回 false。如果classinfo既不是类对象也不是类型对象,它可能是类或类型对象的元组,或者可以递归地包含其他这样的元组(不接受其他序列类型)。如果 classinfo 不是类、类型或类、类型和此类元组的元组,则会引发 TypeError 异常。
无论你想做什么似乎都不是一个好主意。请更详细地描述您的原始需求,我们将帮助您提出更好的设计。