可变默认参数 函数定义: def append_to(element, to=[]): to.append(element) return to 函数调用: print(append_to(10)) print(append_to(20)) 期望的结果: 每次调用函数时,如果不提供第二个参数,就会创建一个新的列表,所以结果应是这样的: [10] [20] 事实的结果: 当函数被定义时,一个新的列表就被创建一次 ,而且同一个列表在每次成功的调用中都被使用: [10] [10, 20] 结论: 当函数被定义时,Python的默认参数就被创建一次,而不是每次调用函数的时候创建。 这意味着,如果使用一个可变默认参数并改变了它,将会在未来所有对此函数的调用中改变这个对象。 应该使用的方法: 在每次函数调用中,