offera.io
4机器学习工程师
Python编程/数据模型与对象系统/可变对象与不可变对象

默认参数用可变对象会出什么问题?怎么避免?

题目摘要

机器学习工程师面试题:默认参数用可变对象会出什么问题?怎么避免?重点考察Python 默认参数只在函数定义时求值一次这个关键机制,以及由此引发的经典 mutable default argument 陷阱。可结合先演示 bug 现象,再解释根因(默认值对象在 def...

  • 岗位方向:机器学习工程师
  • 所属章节:Python编程
  • 当前小节:可变对象与不可变对象
  • 考察重点:Python 默认参数只在函数定义时求值一次这个关键机制,以及由此引发的经典 mutable default argument 陷阱。
  • 作答建议:先演示 bug 现象,再解释根因(默认值对象在 def 执行时创建且只创建一次),最后给出标准的 None 哨兵解法。

考察要点

Python 默认参数只在函数定义时求值一次这个关键机制,以及由此引发的经典 mutable default argument 陷阱。

答题思路

先演示 bug 现象,再解释根因(默认值对象在 def 执行时创建且只创建一次),最后给出标准的 None 哨兵解法。

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

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