python學習之第十五課時 存址方式及拷貝

2022-03-31 07:57:11 字數 1842 閱讀 8544

不同資料型別在記憶體中的存址方式

字串str,一次性建立,不能被修改,只要有修改字串,就是在重新建立

新的字串

python底層是c語言寫的,c語言沒有字串的說法,字串是字元陣列,所以在記憶體址是字元陣列的方式

圖示:

列表list

圖示:

注意:在使用拷貝時,必須先引入拷貝模組 import copy

一、數字和字串

對於數字

和字串而言,賦值、淺拷貝和深拷貝無意義,因為其永遠指向同乙個記憶體位址

#

!/usr/bin/env python

#-*- coding:utf-8 -*-

import

copy

a=12b=a

print(id(b)) #

列印 36593664

#淺拷貝

b=copy.copy(a)

#深拷貝

c=copy.deepcopy(a)

print(id(c)) #

列印 36593664

深拷貝c= copy.deepcopy(a)

#

!/usr/bin/env python

#-*- coding:utf-8 -*-

import

copy

a=12b=a

print(id(b)) #

列印 36593664

#淺拷貝

b=copy.copy(a)

#深拷貝

c=copy.deepcopy(a)

print(id(c)) #

列印 36593664

二、其他基本資料型別

對於字典、元祖、列表

而言,進行賦值、淺拷貝和深拷貝時,其記憶體位址的變化是不同的

1、賦值

#

!/usr/bin/env python

#-*- coding:utf-8 -*-

import

copy

b=a=b

圖示:

2、淺拷貝

淺拷貝,在記憶體中只額外建立第一層資料

#

!/usr/bin/env python

#-*- coding:utf-8 -*-

import

copy

b=a=b

a=copy.copy(b)

圖示:

3、深拷貝

深拷貝,在記憶體中將所有的資料重新建立乙份(排除最後一層,即:python內部對字串和數字的優化)

#

!/usr/bin/env python

#-*- coding:utf-8 -*-

import

copy

b=c=copy.deepcopy(b)

圖示:

IO流第十五課,總結

一 步驟 建立檔案源,也就是路徑 選擇輸入 輸出流 操作 讀取 寫出 釋放資源 二 流 節點流 離資料源程式最近的流 1 節點流 可以處理一切檔案的複製 拷貝 1 輸入流 inputstream fileinputstream bytearrayinputstream 操作 read 位元組陣列 中...

第十五課 儲存與狀態

1.v0 v0 vi v 0 1 e t rc 電容真正儲存的是電荷,但對於乙個線性電容來說,它儲存的也是電壓,稱其為state。狀態 將來所需的所有輸入的彙總 電容的狀態就是電壓 vi 在零時刻以前的值無關緊要 電容電壓的未來值 是 電容初始狀態和未來時間輸入變化 的函式 vc t f vc 0 ...

C 基礎學習第十五課 異常處理

10,異常處理 1,定義 異常處理就是處理程式中的錯誤 2,基本思想 讓乙個函式在發現了自己無法處理的錯誤時,丟擲 throw 乙個異常,然後它的 直接或間接 呼叫者可以吹這個問題 即將問題檢測和問題處理分離 3,異常基本語法 1,丟擲異常使用throw 2,捕獲異常使用try catch thro...