Circle2D.__eq__
assumes anotherCircle
is Circle2D
instance. But you're passing str objecct.
To handle that, you need to check instance type.
def __eq__(self, anotherCircle):
return isinstance(anotherCircle, Circle2D) and \
self._radius == anotherCircle._radius