模塊介紹
1、定義:
模塊:用來從邏輯上組織python代碼(變量,函數,類,邏輯:實現一個功能),本質就是.py結尾的python文件(文件名:test.py,對應的模塊名:test)
包:用來從邏輯上組織模塊的,本質就是一個目錄(必須帶有一個__init__.py文件)
2、導入方法:
import module_name
引用腳本里的函數用方法module_name.logger()


import module1_name,module2_name
導入多個腳本模塊
from module_alex import *
這里相當於導入module_alex腳本文件里的所有代碼
from module_alex import m1,m2,m3
from module_alex import logger as logger_alex
這里相當於導入module_alex腳本里的logger函數,並給它起別名為logger_alex,注意這里的 logger不能寫成 logger()
用from的方法,這個想再引用module_alex里的函數或者變量,直接logger()就OK了。如果有別名那么直接執行logger_alex()
3、import本質(把模塊的所有代碼解釋了一遍,賦值給module_alex)

from module_alex import name的本質(把name這個代碼復制一份到當前腳本)

import本質(路徑搜索和搜索路徑)
導入模塊的本質就是把python文件解釋一遍,然后賦值給模塊名,(import test 相當於 test='test.py all code')
導入模塊的過程:找文件,找文件所在的路徑,找sys.path

所以 我們需要把當前腳本的絕對路徑的父父路徑,加到sys.path里去,這樣就可以找到其他模塊。
所以我們引入一個新模塊os,os.path.abspath(__file__)可以獲得當前模塊的絕對路徑

然后再通過os.path.dirname可以獲取到除文件名以外的路徑,我們使用2次,就可以得到父父級目錄,現在我們獲得了父父級目錄,我們把目錄加到 sys.path去,但是我們注意我們需要把這個目錄放到列表sys.path的第一個位置去~!

導入包的本質就是執行該包下面的__init__.py文件


4、導入優化

