python中的模組(module),是乙個python檔案,字尾名為.py,包含了python物件定義和python語句,模組中也能定義函式、類、變數,模組裡也能包含可執行**
匯入模組
1
.import 模組名[
,模組名,模組名,..
.]2.
from 模組名 import 功能名稱[
,功能名稱,功能名稱,..
..]3
.from 模組名 import
*(匯入所有功能)4.
import 模組名 as 別名5.
from 模組名 import 功能名稱 as 別名
製作模組
在python中,每個python檔案都可以作為乙個模組,模組的名字就是檔案的名字,也就是說自定義模組名稱必須要符合識別符號命名規則
模組測試
在實際開發中,當乙個開發人員寫完乙個模組後,為了模組能夠在專案中達到想要的效果,這個開發人員必須在建立這個模組中的功能時,需要對模組中的每個功能進行測試
一般情況下測試方案很多:、
重新建立乙個測試python檔案,然後倒入模組呼叫功能測試
直接也可以在模組檔案中直接進行測試,但是如果稍不注意會導致測試的**在應用場景中被呼叫
其實測試的目標指的是如果直接在模組中測試,相當於只有在模組中執行的時候才執行模組中的測試**
__name__:是檢視當前的執行的函式名稱
__mian__:指的是主函式名稱
模組的定位順序
當匯入乙個模組,python解析器對模組的位置的搜尋順序是:
當前目錄
如果不在當前目錄,python則搜尋在shell變數pythonpath下的每個目錄
如果都找不到,python會檢視預設路徑。unix下,預設路徑/user/local/lib/python
windows下:預設路徑當前python.exe裡面的lib
模組搜尋路徑儲存在system模組的sys.path變數中。變數包含當前目錄,pythonpath由安裝過程決定
注意
自己的檔名不要和已有模組的檔名重複,否則會導致模組功能無法使用
使用from 模組名 import功能的時候,如果功能名字重複,呼叫到的是最後定義的或匯入的功能
匯入了模組之後的程式**中的變數一般不能和模組的名稱一致,否自在呼叫模組的時候,這個名稱已經是變數了,不在是模組,因為python中的變數是引用
__all__的使用
如果乙個模組檔案中有__all__變數,當使用from *** import
*匯入時,只能匯入這個列表中的元素,指的是將萬用字元(
*)進行新增篩選
通過all進行對*進行篩選,只有被篩選中的all裡面的功能才是*能夠代替的
包將有聯絡的模組組織在一起,放在同乙個資料夾下面,並且在這個資料夾裡面建立乙個名字為__init__.py檔案,那麼這個資料夾就稱之為包
製作包
專案中右鍵【new】-【python package】-包名-【ok】
注意:包是否建立正確,檢查在包建立好之後是否自動建立乙個init.py檔案,
__init__檔案的作用:控制著包的匯入行為
匯入包
import 包名.模組名
包名.模組名.功能名
##和模組的匯入一樣
from 包名 import 模組名,模組名,..
....
from 包名 import
*import 包名.模組名 as 命名
#__init__作用
init檔案的作用類似於模組中的_all_的作用,在init檔案中同樣新增一行__all__對應的列表中,可以選擇被匯入的模組的名字
萬用字元自動篩選這些模組
python模組與包
路徑修改 命令列怎麼檢視路徑,修改路徑 列印當前搜尋路徑 import sys sys.path sys.path import os os.getcwd os.chdir c www 模組實現構建模組的初衷就是將一些同類的東西進行打包,以免汙染全域性空間,在python的模組裡,對需要隱藏的屬性和...
python 模組與包
模組與包 1.什麼是模組 在 python 中,乙個.py檔案就稱之為乙個模組 module 模組的優點 大大提高了 的可維護性 編寫 不必從零開始。當乙個模組編寫完畢,就可以被其他地方引用 2.匯入模組的幾種方式 4.模組的分類 1 內建模組 os,sys,dnspython,socket,tim...
python包與模組
python模組 py檔案就是模組 1.在同乙個工作目錄 呼叫其他模組裡面的方法一 import module 呼叫 module.function 注意 此時import module時,在執行當前 時,會先執行被import的module裡的 import module as m1 別名,類似w...