Python 中实例化对象时,__init__ 和 __new__ 魔法方法各自的作用是什么?它们是如何被调用的?
考察说明
考察对 Python 对象构造流程中 __new__ 与 __init__ 分工与调用顺序的理解
回答思路
- 明确 __new__ 负责创建并返回实例,__init__ 负责初始化实例
- 说明 __new__ 在 __init__ 之前被调用,且 __new__ 是静态方法
- 能够解释只有当 __new__ 返回的实例是当前类或其子类的实例时,__init__ 才会被调用
- 了解 __new__ 的典型应用场景,如单例模式或不可变对象
- 能正确描述 object.__new__ 与自定义 __new__ 的关系
本题已收录答题指导
本题附完整参考答案与评分标准
登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。