语言特性
- 可变类型与不可变类型
这里的可变和不可变指的是内存中的那块内容是否可变。如果是不可变类型,在对对象本身操作时必须新申请一块内存。如果是可变类型则对象的内存地址不变,而该区域的大小以及区域中存放的内容会发生变化。
可利用内置函数id()进行判断。
可变类型(mutable):列表,字典
不可变类型(unmutable):数字,字符串,元组 - 浅拷贝和深拷贝
这篇解释 - __new__()和__init__()的区别
__new__()是一个静态方法,作用为创建实例并返回实例,而__init__()用来初始化一个实例,设定一些属性的初值。__new__()在日常中比较少用。