我有一个Thing
带有浮点x
属性的类。我想大致比较两个Thing
相对容差为 1e-5 的实例。
import attr
@attr.s
class Thing(object):
x: float = attr.ib()
>>> assert Thing(3.141592) == Thing(3.1415926535) # I want this to be true with a relelative tolerance of 1e-5
False
我是否需要覆盖该__eq__
方法,或者是否有一种干净的方式来告诉attr
使用math.isclose()
或自定义比较功能?