標籤:class images 資料類型 es2017 技術分享 存在 對象引用 數字 儲存
Vamei 出處:http://www.cnblogs.com/vamei 歡迎轉載,也請保留這段聲明。謝謝!
原鏈:http://www.cnblogs.com/vamei/archive/2012/07/10/2582795.html
筆記:
1 #第19講 動態類型 2 3 #有一類特殊的對象,是用來儲存資料的。包括:數字,字串,表,字典 4 #C裡面是變數,python是對象 5 #對象是儲存在記憶體中的,不能直接接觸到 6 #我們平時在程式中對象名,是指向這個對象的引用,對象和引用是分離的 7 8 a = 3 #把記憶體中的整數對象 3,賦值給變數a,對象a 9 10 a = ‘at‘# 記憶體中建立對象‘at‘,引用a指向‘at‘11 print(a)12 13 #這個時候對象3沒有引用指向它了,python就會自動銷毀,釋放記憶體14 15 a = 516 b = a17 a = a + 218 print(a)19 print(b)20 #b = a 引用b 指向 引用a 的那個對象21 #第三句是對a重新賦值了22 23 l1 = [1,2,3]24 l2 = l125 l1 = 126 print(l2)27 28 #不影響l2,依然是list[1,2,3]29 30 #特例31 l1 = [1,2,3]32 l2 = l133 l1[0] = 534 print(l1)35 print(l2)36 37 #會發現索引0,也就是list 的第一個元素,變了,l1 l2 都變了38 #list是很多個對象的引用,l1[0] 是1 ,l1[1] 是239 #只是改變了一個元素操作,所以大的對象引用都變了40 41 42 #list dict 可以通過引用元素,改變自身對象,稱為 可變資料對象43 #數字 和 str 只能改變引用 指向,稱為 不可變資料對象44 45 #元組是可以引用,但是元組本身不可更新,也是不可變資料對象46 47 48 49 50 51 #從動態類型看函數的參數傳遞52 53 def f(x):54 x = 10055 print(x)56 57 a = 158 f(a)#執行了函數f(x)59 print (a)60 61 #f(a) 是 10062 #print(a) 輸出是 163 64 #參數x 是一個新的引用,指向a所指的對象65 #如果參數是不可變的對象,a 和x 相互獨立,對於x 的操作不會影響到 a66 67 68 def f(x):69 x[0] = 10070 print(x)71 72 a = [1,2,3]73 f(a)74 print(a)75 76 #跟上面很像,傳遞的可變的對象,改變之後,指向原list的引用都會變化
手畫兩張圖
不可變資料類型
可變資料類型
python學習筆記(19)動態類型