专栏名称: Python开发者
人生苦短,我用 Python。伯乐在线旗下账号「Python开发者」分享 Python 相关的技术文章、工具资源、精选课程、热点资讯等。
今天看啥  ›  专栏  ›  Python开发者

Python 类不要再写 __init__ 方法了

Python开发者  · 公众号  · Python  · 2025-05-20 11:03
    

文章预览

原作:Glyph  译者:豌豆花下猫@Python猫  原题:Stop Writing __init__ Methods  原文:https://blog.glyph.im/2025/04/stop-writing-init-methods.html 历史背景 在 Python 3.7 版本(2018 年 6 月发布)引入数据类 (dataclasses) 之前, __init__  特殊方法有着重要的用途。如果你有一个表示数据结构的类——例如带有  x  和  y  属性的  2DCoordinate ——你如果想通过  2DCoordinate(x=1, y=2)  这样的方式构造它,就需要添加一个带有  x  和  y  参数的  __init__  方法。 那时候可用的其它实现方法都存在相当严重的问题: 你可以将  2DCoordinate  从公共 API 中移除,转而暴露一个  make_2d_coordinate  函数并使其不可导入,但这样你该如何在文档体现返回值或参数类型呢? 你可以记录  x  和  y  属性并让用户自己分别赋值,但这样  2DCoordinate()  就会返回一个无效的对象。 你可以使用类属性将 ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览