擅长:python、mysql、java
<p>如果要获取两个对象上的所有属性:</p>
<pre><code>def get_matching_attributes(instance1, instance2):
return [attribute for attribute in instance1.__dict__ if attribute in instance2.__dict__]
</code></pre>
<p>->;返回所有匹配属性的列表</p>
<hr/>
<p>如果要获取位于对象<em>和</em>的所有属性也具有相同的值:</p>
<p><em>确保您还获得了上面定义的函数<code>get_matching_attributes</code>,以便使用</em></p>
<pre><code>def compare_matched_attribute_values(instance1, instance2):
matching_attributes = get_matching_attributes(instance1, instance2)
matching_values = []
for attribute in matching_attributes:
if instance1.__dict__[attribute] == instance2.__dict__[attribute]:
matching_values.append((attribute, True))
else:
matching_values.append((attribute, False))
return [obj[0] for obj in matching_values if obj[1] is True]
</code></pre>
<p>->;返回也具有相同值的所有匹配属性的列表</p>
<p><em>提示:如果要获取tuble中所有匹配属性的列表,请将最后一列更改为<code>return matching_values</code>,其中<code>True</code>或<code>False</code>指示属性在两个对象中是否具有相同的值</em></p>