Ibuprofeno.py💊| #187: 解释这个Python代码
💡
原文约300字/词,阅读约需1分钟。
📝
内容提要
在Python中,使用可变类型(如列表)作为函数默认参数时要注意。默认参数在函数定义时只设定一次。比如,函数`buggy`的默认参数是列表,调用`buggy(3)`后,列表变为`[3]`。再次调用`buggy(4)`时,列表变为`[3, 4]`,因为列表没有重置。这种情况在不可变类型(如字符串、数字)上不会发生。
🎯
关键要点
- 在Python中,使用可变类型(如列表)作为函数默认参数时要小心。
- 默认参数在函数定义时只设定一次,而不是在每次调用时重置。
- 调用函数buggy(3)后,默认参数列表变为[3]。
- 再次调用buggy(4)时,列表变为[3, 4],因为列表没有重置。
- 不可变类型(如字符串、数字)在使用默认参数时不会出现这种情况。
➡️