python中有一句很重要的话“一切皆为对象,一切皆为对象的引用”。
bool、int、float等等都是python中的内置类,但是需要区分可变类与不可变类,如果类的对象在实例化的时候有一个固定的值,并且在随后的操作中不会被改变,那么就是不可变的类。
- bool、int、float、tuple、str、frozenset都是不可变类
- list、set、dict 是可变类
python中的函数id()可以获取内存地址。
不可变的类
1 x=1 2 id(x) 3 Out[2]: 140735774256896 4 5 y=1 6 id(y) 7 Out[4]: 140735774256896 8 9 x=2 10 y=2 11 id(x) 12 Out[7]: 140735774256928 13 id(y) 14 Out[8]: 140735774256928 15 16 x += 2 17 id(x) 18 Out[10]: 140735774256992
可变的类
1 a = [1,2] 2 id(a) 3 Out[13]: 2447876340232 4 5 a = [1,2] 6 id(a) 7 Out[15]: 2447875658632 8 9 a.append(3) 10 id(a) 11 Out[17]: 2447875658632 12 13 a += [4] 14 id(a) 15 Out[19]: 2447875658632 16 17 a 18 Out[20]: [1, 2, 3, 4]