offera.io
2视觉算法工程师
Python与C++编程/Python面向对象基础/魔术方法与运算符重载

__new__ 和 __init__ 有什么区别?

题目摘要

视觉算法工程师面试题:__new__ 和 __init__ 有什么区别?重点考察对Python对象创建过程的两阶段理解:实例创建(__new__)与实例初始化(__init__)的职责划分,以及 __new__ 的实际应用场景。可结合按对象诞生的时间线来讲:先 __new__ 后...

  • 岗位方向:视觉算法工程师
  • 所属章节:Python与C++编程
  • 当前小节:魔术方法与运算符重载
  • 考察重点:对Python对象创建过程的两阶段理解:实例创建(__new__)与实例初始化(__init__)的职责划分,以及 __new__ 的实际应用场景。
  • 作答建议:按对象诞生的时间线来讲:先 __new__ 后 __init__,说清各自的职责、参数差异、返回值要求,最后给出 __new__ 的典型使用场景(单例模式、不可变类型子类化)。

考察要点

对Python对象创建过程的两阶段理解:实例创建(__new__)与实例初始化(__init__)的职责划分,以及 __new__ 的实际应用场景。

答题思路

按对象诞生的时间线来讲:先 __new__ 后 __init__,说清各自的职责、参数差异、返回值要求,最后给出 __new__ 的典型使用场景(单例模式、不可变类型子类化)。

这道题的参考答案包含了详细的分析和要点总结。点击下方按钮查看完整答案。

答案经过精心组织,帮助你建立系统化的知识框架。