python高級編程--1

1.包和模塊

1.1包(lib)

python里面的包是指一個文件夾,一般包含init.py文件,y一個包里面可以同時包含多個py文件。

1.2模塊(module)

python里面模塊是指一個寫有python代碼,用于完成某項功能的文件,一個模塊可以看成獨立的文件,一個文件也可以看成一個模塊。

1.3模塊的引入

比如創建一個包mypackage,包文件夾下創建兩個自定義模塊test1、test2以及init.py和用于測試的demo01文件。

image.png

1.3.1第一種引入

import + 包路徑文件名稱
我們可以在demo01文件里這樣引用,如import mypackage.test1,import mypackage.test2

1.3.2第二種引入

from +包路徑+import+模塊名稱
from mypackage import test1,from mypackage import test2

1.3.3第三種引入

from +包路徑+import * 引入該包下面的所有模塊,首先要創建一個--init--文件,在文件里寫入__all__=["test1","test2"],然后通過from mypackage import *來引入當前包路徑下的所有模塊。

2. ==和is的使用

“==”比較的是兩個對象的數值是否相等,“is”比較的是兩個對象是否指向同一個內存(id是否相等)
聲明了一個變量a=10,b=10,判斷兩個對象的值是否相等以及是否指向同一個內存


image.png

image.png

3.拷貝(copy)

Python中,對象的賦值都是進行對象引用(內存地址)傳遞。
python內置了copy模塊,通過import copy即可。
所謂拷貝,就是創建一個新對象,拷貝出來的對象與原對象沒有任何關聯(id地址發生了變化)。

image.png

3.1深拷貝

深拷貝(copy.deepcopy())是創建一個新對象,遞歸copy原對象的所有子對象,然后與原對象斷開聯系,當原對象的子對象發生變化時,深拷貝的對象不會發生變化。

image.png

3.2淺拷貝

淺拷貝是創建一個新對象,copy原對象的所有子對象,然后與原對象斷開聯系,當原對象的子對象發生變化時,淺拷貝的對象隨之發生變化(共享子對象)。

image.png
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容