要按类型查找对象属性,可以使用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类型属性。
你可以根据自己的需求修改代码来查找其他类型的属性。
下一篇:按类型查找控件的祖先