定義:在python中,乙個 .py 檔案就稱為乙個模組
使用模組的好處:最大的好處就是提高了**的可維護性
分類(三種):
模組匯入方法:
1. import 語句
import module1[, module2[,.... modulen]]
#舉例:
#test.py
import注意:import 做了兩件事情:一是執行cal函式;第二是引入變數名calprint(cal.add(3,5))
print(cal.sub(3,5))
2. from...import 語句
from modulename import name1[, name2[, ... namen]]
注意:這個宣告不會把整個modulename模組匯入到當前的命名空間中,
只會將它裡面的name1或者name2單獨引入到執行這個宣告的模組的全域性符號表。
#舉例:
#test.py
from cal import3. from...import*語句addfrom cal import
sub
print(add(3,5))
print(sub(3,5))
from modulename import*
#舉例:
#test.py
from cal import*(*代表一切,但是不推薦這種模組匯入方式)print(add(3,5))
print(sub(3,5))
關於路徑的補充:
當我們使用import語句時,python直譯器是怎麼樣找到對應的檔案的?
答案是直譯器有自己的搜尋路徑,存在 sys.path裡。
import#存放的是執行檔案的路徑sysprint(sys.path)
為了避免模組名相同帶來的衝突,python引入按照目錄組織模組的方法,稱為包(package)
每個包目錄下面都會有有個 __init__.py 的檔案,這是區別普通目錄的。如果沒有__init__.py ,則不是乙個包
__init__.py 可以是空檔案,也可以有python**,因為__init__.py本身就是乙個模組,而它的模組名就是對應包的名字
引入包以後,只要頂層的包名不與別人衝突,那所有模組都不會與別人衝突。
舉例:
#呼叫方式一:main.py
defadd(x, y):
return x +y
defsub(x, y):
return x - y
#呼叫方式二:test.py
from my_module.web1.web2.web3.main import
subprint(sub(2,5))
#注意:包只要被呼叫,就是執行該包的 __init__.py 檔案test.py
from my_module.web1.web2.web3 import
main
print(main.add(2,5))
python 模組和包 python模組和包
一.模組 python 模組 module 是乙個 python 檔案,以 py 結尾,包含了 python 物件定義和python語句。模組能定義函式,類和變數,模組裡也能包含可執行的 二.匯入模組 1.語法 import模組名from 模組名 import功能名from 模組名 import i...
Python 模組和包的基本應用
module and package 包 包是通過使用 模組名來組織python模組命名空間的方式 具體而言,包就是乙個包含 init py檔案的資料夾 注意 python3,即使包中沒有 init py也可以使用 python2,如果沒有 init py肯定報錯 建立包的目的不是為了執行,而是為了...
python 包和模組 python的包和模組
再看一下os識別符號的型別及os指向的這個物件。print type os print type os.path print global os 收集全域性變數,檢視os物件資訊 輸出結果 上面結果顯示os和os.path是乙個module型別,這也是os可以使用import匯入的原因。只有modu...