least-astonishment相关内容

“最不惊讶"和可变默认参数

任何对 Python 进行足够长时间修补的人都被以下问题咬过(或撕成碎片): def foo(a=[]):a.append(5)返回一个 Python 新手希望这个函数总是返回一个只有一个元素的列表:[5].结果却大不相同,而且非常惊人(对于新手而言): >>>富()[5]>>>富()[5, 5]>>>富()[5, 5, 5]>>>富()[5, 5, 5, 5]>>>富() 我的一位经 ..