import匯入模組

2021-08-21 15:21:40 字數 1082 閱讀 5006

使用import 匯入模組時,系統做了以下幾步:

1.匯入import後面緊跟的模組

2.將後面的名字指向該模組

例如:import os

系統先是匯入了os.py檔案,然後將os指向了os.py檔案,然後就可以用os.函式名來訪問os.py裡面的函式和屬性

使用import匯入模組有幾種方式:

1.import 模組名

推薦使用方式,儘管呼叫模組內的屬性和函式時會麻煩一點,但避免了多模組匯入時,修改屬性導致的混亂。

2.from 模組名 import * 

3.from 模組名 as 別名

接下來聊聊前面說的多模組匯入時容易導致的模組內屬性的混亂

這是第乙個檔案test1.py

a = 10

這是第二個檔案test2.py

import test1

test1.a = 20

這是第三個檔案test3.py

import test1

import test2

print(test1.a)

看起來似乎跟test2.py沒有什麼關係,但實際上是有關係的,最後輸出的結果是20,並不是test1.py裡的10。這其中的原因是匯入test2.py時,test2.py對test1.py中的屬性進行修改,在test3.py中產生了影響,影響的結果就是呼叫test1.a時,顯示的是修改過的屬性。但是如果將test3.py的第一行改為from test1 import *,此時呼叫test1中的屬性a時,就不能用test1.a,而是用a,此時的結果就變成了10.

上述結果看似沒有什麼用處,但實際上意義很大,因為實際開發中,會經常使用多模組同時匯入,加入我們在test1.py中放的是資料,test2.py中存放處理資料的方法,然後需要在test3.py中使用處理後的資料,此時如果使用from 模組名 import * 這種方法匯入就會產生一種錯覺:明明處理過資料,但程式執行結果卻是未經處理的資料,此時bug應該就在模組匯入的地方。

import 匯入模組

import 匯入模組 import md 首先建立兩個資料夾 乙個run.py 第二個叫md.py md.py 這個檔案存的是 print from the md py def readl print md money def readl2 print md模組 readl def change ...

動態匯入模組 import

mo1 import des mo2 import child.child mo3 import child print mo1,mo2,mo3 mo3與mo2相同 同級目錄使用模組物件來呼叫 mo1.b mo1.fun2 對於目錄下的,動態匯入只會匯入第一級目錄 mo2.child.a 雖然沒有具...

python模組import匯入 1 15

函式 將一組 組織到一起,實現某種功能 模組 為實現某種邏輯將相關連的函式寫在同乙個檔案裡,使邏輯更清楚,這就是乙個模組 在python中檔案以.py結尾的,那這個.py檔案就可以稱為模組 模組共分為三種 python標準庫 第三方模組 應用程式自定義模組 相同名字的函式和變數可以分別存在不同的模組...