Python18-05_模組----import載入的底層原理
阿新 • • 發佈:2020-09-19
import載入的底層原理
import的動態匯入
import語句本質上就是呼叫內建函式__import__(), 我們可以通過他實現動態匯入, 給__import__()動態傳入不同的值, 就能匯入不同的模組
1 s = 'math' 2 m = __import__(s) 3 a = m.pi 4 b = m.sin(30) 5 print(a) 6 print(b)
[注意]: 一般不建議自行匯入__import__(), 會導致動態錯誤, 如果需要動態匯入請使用importlib模組
1 import importlib 2 a = importlib.import_module('math') 3 print(a.pi)
模組載入問題
當匯入一個模組時, 模組中的程式碼都會被執行, 不過, 如果再次匯入這個模組, 則不會再次執行.
一個模組無論匯入了多少次, 這個模組在整個直譯器程序內有且只有一個例項物件
1 #coding: utf-8 2 import math 3 print('Python07,例項被載入......') 4 def t1(): 5 pass
載入:
1 #coding:utf-8 2 import Python07 3 import Python07 4 import Python07 5 6 print('###') 7 importimportlib 8 importlib.reload(Python07)