YuWuKunCheng
|
ae57090d7f
|
1. Pickle 支持修复(__reduce__)
- 修复了 相对方向Py.__reduce__ 中 str() 返回 相对方向.向上 导致 getattr 失败的问题(拆分取 . 后变体名)
- 重新编译后 __module__ 正确返回 chanlun._chanlun
- 所有 4 个类型(相对方向、买卖点类型、分型结构、缺口)pickle 往返测试通过
2. from_py_object 消除 163 个弃用警告
- 给 14 个 #[derive(Clone)] 的 pyclass 添加了 from_py_object
- #[pyclass] 中的正确写法:#[pyclass(name = "X", module = "chanlun._chanlun", from_py_object)]
- cargo clean 重新编译后零 from_py_object 警告
3. #[classattr] + __members__
- 为 3 个枚举类型(相对方向、买卖点类型、分型结构)添加了 __members__ 类属性
- __members__ 是 dict[str, 实例],行为与 Python Enum.__members__ 一致
- 通过 pickle 反序列化的值也在 __members__.values() 中
4. __richcmp__
- 为 3 个枚举类型 + 缺口实现了 __richcmp__,替换手写 __eq__
- 相对方向/分型结构:支持全部 6 种比较(基于判别值排序)
- 买卖点类型:支持 Eq/Ne + 与字符串比较
- 缺口:支持全部 6 种比较(按 (高, 低) 元组排序)
5. 补充文档
|
2026-05-28 14:03:53 +08:00 |
|