我有一个快速的问题。我有一个存储类实例的二维数组。数组的元素根据程序前面读取的文本文件被分配一个特定的类。由于不查看文件我不知道在特定元素中存储了哪些类,因此我可以引用该索引中不存在的字段(指的是 temp 实例存储在该索引中时的外观)。我想出了一种测试方法,但它很冗长,需要第二个矩阵。是否有测试类中是否存在字段的功能?
class temp():
name = "default"
class temp1():
appearance = "@"
您是否在寻找:
isinstance(对象,类信息)
如果 object 参数是 classinfo 参数或其(直接或间接)子类的实例,则返回 true。如果 classinfo 是类型对象(新型类)并且 object 是该类型或其(直接或间接)子类的对象,则也返回 true。如果 object 不是类实例或给定类型的对象,则该函数始终返回 false。如果 classinfo 既不是类对象也不是类型对象,它可能是类或类型对象的元组,或者可能递归地包含其他此类元组(不接受其他序列类型)。如果 classinfo 不是类、类型或类、类型和此类元组的元组,则会引发 TypeError 异常。
无论你试图做什么似乎都不是一个好主意。请更详细地描述您的原始需求,我们将帮助您提出更好的设计。
您也可以使用异常处理来执行此操作。
try:
val = x.name
except AttributeError:
val = x.appearance