Python 引发的KeyError异常被引用了两次

Python 引发的KeyError异常被引用了两次,python,Python,因此,在我的一个类中有一个to string方法: def __str__(self): # some irrelevant code raise KeyError("aaa") 然后在我的测试中,我会: with self.assertRaises(KeyError) as cm: str(myobject) self.assertEquals("%s" % cm.exception, "aaa") 我得到这个输出: self.assertEquals("%s" %

因此,在我的一个类中有一个to string方法:

def __str__(self):
    # some irrelevant code
    raise KeyError("aaa")
然后在我的测试中,我会:

with self.assertRaises(KeyError) as cm:
    str(myobject)
self.assertEquals("%s" % cm.exception, "aaa")
我得到这个输出:

self.assertEquals("%s" % cm.exception, "aaa")
AssertionError: "'aaa'" != 'aaa'

是否知道是什么原因导致了这种情况?

键错误
格式化为字符串时,出现问题的键的表示形式包括:

>>> d = {}
>>> d[2]
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
KeyError: 2
>>> d["a"]
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
KeyError: 'a'
还是更直的前倾

self.assertEquals(str(cm.exception), "'aaa'")
self.assertEquals(str(cm.exception), "'aaa'")