offera.io
3计算机视觉工程师
Python编程/Python语法基础/函数定义与参数传递

默认参数为什么不能用可变对象?

题目摘要

计算机视觉工程师面试题:默认参数为什么不能用可变对象?重点考察默认参数的初始化时机、可变对象作为默认值的陷阱、正确的替代方案。可结合这是个经典陷阱题。先用代码展示问题现象,再解释背后原因(默认参数只在函数定义时初始化一次),最后给出正确写法。能答出原理的候选人会加分来组织回答。

  • 岗位方向:计算机视觉工程师
  • 所属章节:Python编程
  • 当前小节:函数定义与参数传递
  • 考察重点:默认参数的初始化时机、可变对象作为默认值的陷阱、正确的替代方案。
  • 作答建议:这是个经典陷阱题。先用代码展示问题现象,再解释背后原因(默认参数只在函数定义时初始化一次),最后给出正确写法。能答出原理的候选人会加分。

考察要点

默认参数的初始化时机、可变对象作为默认值的陷阱、正确的替代方案。

答题思路

这是个经典陷阱题。先用代码展示问题现象,再解释背后原因(默认参数只在函数定义时初始化一次),最后给出正确写法。能答出原理的候选人会加分。

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

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