问题1: 可变对象 & 不可变对象
**可变对象:**变量所指内存中的对象值可以被改变,列表list、字典dict、集合set都是典型的可变对象
**不可变对象:**变量所指内存中的对象值不能被改变,字符串str、数值类型(int float)元组都是典型的不可变对象
问题2:可变对象直接做函数形参存在的问题:
在python中,一个函数的形参是可以设置默认值的,这是非常方便的一个特性;note,在设置默认值时,默认值最好设置成不可变对象类型的值;如果设置成可变对象,默认值可能会出现预期之外的result,如列表list
问题2解决办法:
对于一个函数,如果某一个参数存在对应的值,直接函数调用即可;如果某一个参数不存在对应的值,可将默认参数设置为None,这样不会报错
reference: https://www.cnblogs.com/liulaolaiu/p/11744390.htmlk