文件名称:让类支持比较操作-华为云大数据中台架构分享
文件大小:5.68MB
文件格式:PDF
更新时间:2024-07-01 05:00:42
Python cookbook 中文 参考
不被使用了,垃圾回收器立即回收它。 你还能参考 8.25 小节关于弱引用的另 外一个例子。 8.24 让类支持比较操作 问题 你想让某个类的实例支持标准的比较运算(比如>=,!=,<=,<等),但是又不想去实 现那一大丢的特殊方法。 解决方案 Python 类对每个比较操作都需要实现一个特殊方法来支持。 例如为了支持>= 操作符,你需要定义一个 __ge__() 方法。 尽管定义一个方法没什么问题,但如 果要你实现所有可能的比较方法那就有点烦人了。 装饰器 functools.total_ordering 就是用来简化这个处理的。 使用它来装饰一个 来,你只需定义一个 __eq__() 方法, 外加其他方法(__lt__, __le__, __gt__, or __ge__)中的一个即可。 然后装饰器会自动为你填充其它比较方法。