Python 可變資料型別與不可變資料型別
阿新 • • 發佈:2021-08-23
淺拷貝和深拷貝
Python資料都是存放到記憶體中的,Python的資料又分為可變和不可以變
-
可變資料(修改了值後,不會改變記憶體地址,修改的值還是指向相同的記憶體地址)
- 字典
# 列表是可變
x = [100, 200, 300]
y = x
print('變化前記憶體地址的值是:%x %x' % (id(x), id(y)))
print(x, y)
x[0] = 1
print('變化後記憶體地址的值是:%x %x' % (id(x), id(y)))
print(x, y)
- 列表
- 集合
-
不可變資料(修改了值後,會改變記憶體地址,修改的值會指向另外的記憶體地址)
- 字串
#!/usr/bin/python3
a = 'helloworld'
b = a
print('變化前記憶體地址是:%x %x' % (id(a), id(b)))
print(a, b)
a = 'hellochengdu'
print('變化後記憶體地址是:%x %x' % (id(a), id(b)))
print(a, b)
- 數字
#!/usr/bin/python3 a = 10 b = a print('變化前記憶體地址的值是:%x %x' % (id(a), id(b))) print(a, b) a = 12 print('變化後記憶體地址的值是:%x %x' % (id(a), id(b))) print(a, b) print('--------------------------------------------')
- 元組