要按类型查找对象属性,可以使用hasattr()函数和反射机制来实现。下面是一个示例代码,演示了如何按类型查找对象属性:
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
person = Person("Alice", 25)
# 查找所有int类型的属性
int_attributes = []
for attribute_name in dir(person):
attribute_value = getattr(person, attribute_name)
if isinstance(attribute_value, int):
int_attributes.append((attribute_name, attribute_value))
print("Int attributes:")
for attribute in int_attributes:
print(attribute)
在上面的示例中,我们定义了一个Person类,并创建了一个person对象。然后,我们使用dir()函数获取对象的所有属性名称,并使用getattr()函数获取属性的值。接下来,我们使用isinstance()函数判断属性值的类型是否为int,如果是则将属性名称和值添加到int_attributes列表中。最后,我们打印出所有的int类型属性。
你可以根据自己的需求修改代码来查找其他类型的属性。
下一篇:按类型查找控件的祖先