Ibuprofeno.py💊| #187: 解释这个Python代码

💡 原文约300字/词,阅读约需1分钟。
📝

内容提要

在Python中,使用可变类型(如列表)作为函数默认参数时要注意。默认参数在函数定义时只设定一次。比如,函数`buggy`的默认参数是列表,调用`buggy(3)`后,列表变为`[3]`。再次调用`buggy(4)`时,列表变为`[3, 4]`,因为列表没有重置。这种情况在不可变类型(如字符串、数字)上不会发生。

🎯

关键要点

  • 在Python中,使用可变类型(如列表)作为函数默认参数时要小心。
  • 默认参数在函数定义时只设定一次,而不是在每次调用时重置。
  • 调用函数buggy(3)后,默认参数列表变为[3]。
  • 再次调用buggy(4)时,列表变为[3, 4],因为列表没有重置。
  • 不可变类型(如字符串、数字)在使用默认参数时不会出现这种情况。
➡️

继续阅读