以下是一个比较两个对象各属性值是否相同,返回属性值不同的属性集合的示例代码:

def compare_objects(obj1, obj2):
    'Compare two objects and return a set of properties that have different values.'
    diff_props = set()
    for prop in obj1.__dict__:
        if hasattr(obj2, prop):
            val1 = obj1.__dict__[prop]
            val2 = obj2.__dict__[prop]
            if val1 != val2:
                diff_props.add(prop)
        else:
            diff_props.add(prop)
    return diff_props

这个函数接受两个对象 obj1obj2 作为参数,然后遍历 obj1 的所有属性,检查它们是否存在于 obj2 中,并比较它们的值是否相同。如果值不同,则将属性添加到 diff_props 集合中。最后,函数返回 diff_props 集合,其中包含不同值的属性集合。

请注意,这个函数假定两个对象具有相同的属性集合,并且每个属性都是可比较的(即不是函数或对象)。如果两个对象的属性集合不同,函数可能会引发 AttributeError 异常。

Python 代码比较两个对象属性差异 - 返回不同属性集合

原文地址: https://www.cveoy.top/t/topic/n8aa 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录