offera.io
2计算机视觉工程师
Python编程/面向对象编程/类与实例

说说__init__和__new__的区别?

题目摘要

计算机视觉工程师面试题:说说__init__和__new__的区别?重点考察对象创建流程的完整理解、两个魔法方法的调用时机和职责划分。可结合按照对象创建的时间线来组织答案:先说__new__负责创建,再说__init__负责初始化。然后补充一个关键点:什么场景下需要重写__new__(比如单例...

  • 岗位方向:计算机视觉工程师
  • 所属章节:Python编程
  • 当前小节:类与实例
  • 考察重点:对象创建流程的完整理解、两个魔法方法的调用时机和职责划分。
  • 作答建议:按照对象创建的时间线来组织答案:先说__new__负责创建,再说__init__负责初始化。然后补充一个关键点:什么场景下需要重写__new__(比如单例模式)。最好用代码演示调用顺序。

考察要点

对象创建流程的完整理解、两个魔法方法的调用时机和职责划分。

答题思路

按照对象创建的时间线来组织答案:先说__new__负责创建,再说__init__负责初始化。然后补充一个关键点:什么场景下需要重写__new__(比如单例模式)。最好用代码演示调用顺序。

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

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