相关疑难解决方法(0)

通过Python中的属性比较对象实例是否相等

在Python中比较某些对象的两个实例是否相同的最佳方法是什么?我希望能够做类似的事情

例:

class MyClass:
    def __init__(self, foo, bar):
        self.foo = foo
        self.bar = bar
Run Code Online (Sandbox Code Playgroud)

编辑:

进一步澄清这个问题.我想通过属性值进行比较,并制作一个更通用的解决方案

x = MyClass('foo', 'bar')
y = MyClass('foo', 'bar')
Run Code Online (Sandbox Code Playgroud)

MyClass方法看起来应该是这样的吗?

>>> x == y
False
Run Code Online (Sandbox Code Playgroud)

python equality

219
推荐指数
7
解决办法
19万
查看次数

有没有办法检查两个对象在python中的每个变量中是否包含相同的值?

如何检查是否有两个实例

class FooBar(object):
    __init__(self, param):
        self.param = param
        self.param_2 = self.function_2(param)
        self.param_3 = self.function_3()
Run Code Online (Sandbox Code Playgroud)

是一样的?相同的意思是他们在所有变量中都有相同的值.

a = FooBar(param)
b = FooBar(param)
Run Code Online (Sandbox Code Playgroud)

我想到了

if a == b:
    print "a and b are identical"!
Run Code Online (Sandbox Code Playgroud)

这会没有副作用吗?

我的问题的背景是单元测试.我希望实现以下目标:

self.failUnlessEqual(self.my_object.a_function(), another_object)
Run Code Online (Sandbox Code Playgroud)

python object match

19
推荐指数
3
解决办法
2万
查看次数

标签 统计

python ×2

equality ×1

match ×1

object ×1