2017-09-05 16 views
1

同じタイプの2つのオブジェクト間、または2つのオブジェクト間の相違点を見つける方法はありますか?違いによって私はそれらの特性の1つの値が異なっているか、または1つの物体が他の物体が有していない特性を有することを意味する。だから、例えば:この例では2つのPythonオブジェクトの相違点を見つける

dog.kingdom = 'mammal' 
dog.sound = 'bark' 

cat.kingdom = 'mammal' 
cat.sound = 'meow' 
cat.attitude = 'bow to me' 

、私はsound特性が異なり、attitudeプロパティは唯一catであることを知ってほしいと思います。

このユースケースは、ライブラリのデフォルトの動作をオーバーライドしようとしています。ライブラリとは異なるオブジェクトを設定していますが、わかりません。

+0

[deepdiff](https://pypi.python.org/pypi/deepdiff) –

答えて

5
print(dog.__dict__.items()^cat.__dict__.items()) 

結果:セットのようなオブジェクトの場合

{('attitude', 'bow to me'), ('sound', 'meow'), ('sound', 'bark')} 

^は対称差です。

関連する問題