一個對象有很多屬性編寫一個python函數能夠用值來查找滿足條件的屬性的對象
你可以使用getattr()函数来实现这个功能。getattr()函数可以通过属性的名称以及对象来获取属性的值。
下面是一个示例函数,它接受一个对象列表和要匹配的属性名称和值作为参数,返回所有具有匹配属性值的对象:
def find_objects_with_property(objects, property_name, property_value):
matched_objects = []
for obj in objects:
if getattr(obj, property_name) == property_value:
matched_objects.append(obj)
return matched_objects
使用示例:
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
persons = [
Person("Alice", 25),
Person("Bob", 30),
Person("Charlie", 25)
]
matched_persons = find_objects_with_property(persons, "age", 25)
for person in matched_persons:
print(person.name)
输出:
Alice
Charlie
在示例中,我们定义了一个Person类,它有两个属性:name和age。然后我们创建了一个Person对象的列表,并使用find_objects_with_property()函数找到age属性为25的对象。最后,我们打印出匹配的对象的名字
原文地址: https://www.cveoy.top/t/topic/iNUr 著作权归作者所有。请勿转载和采集!