Python新手估计可能会想这个函数返回一个只有元素的列表.但是结果却出人意料: >>> foo()[5][5, 5]>>> foo()>>> foo()[5, 5, 5, 5] 事实上这并不是设计缺陷,也不是什么内部或性能原因. 试着这么来理解:一个函数是一个被它自己定义而执行的对象;默认参数是一种"成员数据",所以它们的状态和其他对象一样,会随着每一次调用而改变.