控制流程深淺拷貝

2021-09-24 13:51:44 字數 815 閱讀 7137

0/1 = 1bit

1byte = 8bit # 計算機的最小儲存單位 0-255的數值

字元編碼的發展史00000000

第乙個階段:

考慮英文ascii(英文本元/鍵盤上的所有字元)

ascii碼用乙個位元組代表乙個字元

第二個階段:

各個國家紛紛定製了自己的字元編碼

gbk使用兩個位元組(2bytes)代表乙個字元 2**16-1 65535

第三個階段:

unicode相容萬國語言 使用兩個位元組(2bytes)代表乙個字元

第四個階段:

utf-8:對英文本元1byte表示,中文3bytes

1.為了處理英文本元,產生了ascii碼

2.為了處理中文字元,產生了gbk

3.為了處理各國字元,產生了unicode

4.為了提高儲存和傳輸效能,產生了utf-8

unicode:簡單粗暴,所有字元都是2bytes,優點字元–》數字的轉換速度快,缺點占用空間大

utf-8:精準,對不同的字元用不同的長度表示,優點:節省空間,缺點:字元–》數字的轉換速度慢

python3中字元編碼實際型別使用

1.記憶體中使用的就是unicode,用空間換時間

2.硬碟中或者網路傳輸用utf-8,盡可能節省頻寬,保證資料傳輸的穩定性

1.字串(數字):在記憶體中是一次性建立的,不能直接修改,如需修改,需要重新建立

2.列表等可修改的資料型別:在記憶體中建立時是以鍊錶的形式建立

3.字串、數字:賦值、深淺拷貝都沒有意義,因為其永遠指向同乙個記憶體位址

4.列表、元組、字典

深淺拷貝以及深淺拷貝的方法

先考慮一種情況,對乙個已知物件進行拷貝,編譯系統會自動呼叫一種建構函式 拷貝建構函式,如果使用者未定義拷貝建構函式,則會呼叫預設拷貝建構函式。執行結果 呼叫一次建構函式,呼叫兩次析構函式,兩個物件的指標成員所指記憶體相同,name指標被分配一次記憶體,但是程式結束時該記憶體卻被釋放了兩次,會造成記憶...

拷貝和深淺拷貝

當list2為list的拷貝物件時,list內的可變資料型別變化,list2變化 list內的不可變資料型別變化,list2變化。總之 list變化list2一定變化 list 1,2,3,4,list2 list print list print list2 1,2,3,4,5 1,2,3,4,5...

12 深淺拷貝

複製物件的基本概念 複製乙個物件作為副本,它會開闢一塊新的記憶體 堆記憶體 來儲存副本物件,就像複製檔案一樣.即源物件和副本物件是兩塊不同的記憶體區域.物件具備複製功能,必須實現協議,協議.常用的可複製物件有 nsnumber,nsstring,nsarray,nsdictionary.nsmuta...