1 问题原因
在Python编程中,当我们尝试对自定义类型进行比较时,可能会遇到这样的错误:TypeError: '<' not supported between instances of 'User' and 'User'
这个错误的原因是Python不知道如何对你的自定义类型进行比较。为了解决这个问题,可以在自定义类中定义__lt__()
方法来指定如何比较两个对象的大小。
2 解决方案
定义 __lt__()
方法
__lt__()
方法用于定义小于运算符(<)的行为。你可以根据自己的需求在该方法中实现自定义的比较逻辑。
以下是一个示例,展示了如何在User
类中定义__lt__()
方法:
class User:
# ... 其他代码 ...
def __lt__(self, other):
# 比较逻辑,根据自己的需求进行实现
# 返回True表示当前对象小于other对象,否则返回False
return self.id < other.id
在这个示例中,我们在User
类中定义了__lt__()
方法,比较的依据是用户的id
属性。你可以根据自己的需求来定义比较逻辑。