1. 程式人生 > 其它 >Python 可變資料型別與不可變資料型別

Python 可變資料型別與不可變資料型別

淺拷貝和深拷貝

Python資料都是存放到記憶體中的,Python的資料又分為可變和不可以變

  1. 可變資料(修改了值後,不會改變記憶體地址,修改的值還是指向相同的記憶體地址)

  • 字典
# 列表是可變
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)
  • 列表
  • 集合
  1. 不可變資料(修改了值後,會改變記憶體地址,修改的值會指向另外的記憶體地址)

  • 字串
#!/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('--------------------------------------------')
  • 元組