什麼是模組:模組是一系列功能的集合體,我們平時建立的.py檔案就是一種模組形式關於模組形式可以分為:
1.使用python語法編寫的.py檔案 2.已被編譯為共享庫或dll的c或c++擴充套件
3使用c編寫並鏈結到python直譯器的內建模組 4.包
使用模組的好處:我們將常用的功能寫成乙個函式,用於解決**冗餘的問題,而當我們將乙個程式按照型別分到不同的檔案中時,模組使我們可以重複呼叫乙個模組中的功能,減少**冗餘,使用第三方或者內建的模組可以提高開發效率
如何匯入模組:使用import 模組名
整個過程為:1.當我們執行執行檔案run.py的時候,申請了run的命名空間,用於存放執行run檔案時產生的名字#建立兩個.py檔案 run.py 和 spam.py
#其中run.py作為執行檔案,內容為:
import spam
def func():
print('from run')
#spam.py作為模組被匯入,內容為:
print('開始執行...')
x = 1
def func():
print('from func')
#執行run.py檔案,執行結果:
開始執行...
2.當第一次匯入模組時:a.先開闢了模組的命名空間 b.執行模組內的**,將產生的名字存放於模組的命名空間 c.在執行檔案中建立乙個名字用於指向模組的命名空間
如何使用被匯入模組
使用模組名.的形式引用模組內的名稱,這是一種指名道姓的呼叫方式,從執行結果來看,並沒有與執行檔案的func產生衝突。import spam
def func():
print('from run')
spam.func()
#執行結果:
開始執行...
from spam
此外,1.我們可以同時匯入多個模組(不推薦使用)
2.為匯入的模組起別名(通過 as)
import 小結:import time,os
import spam as s
print(os.listdir(r'd:\program files\python全棧\學習日記\模組篇'))
print(time.time())
s.func()
使用import的優點:指名道姓的引用模組的變數名,不會與執行檔案中的變數名產生衝突
使用import的缺點:每次引用變數名時,都得加上模組名點的形式,不簡潔
使用from 模組名 import 變數名
從執行結果來看,使用from匯入模組的前兩個步驟與使用import匯入無差,只是第三步不同,from是在執行檔案中建立乙個變數名用於直接指向被匯入模組的乙個值的記憶體位址,but當執行檔案中有相同的變數名時,會造成變數名衝突:from spam import func
func()
#執行結果:--->
開始執行...
from spam
from 與import一樣可以同時匯入多個模組,以及起別名from spam import func
def func():
print('from run')
func()
#執行結果:
開始執行...
from run
此外,當我們需要匯入乙個模組中絕大多數變數名時,可以使用*(預設代表所有)
當然,我們也可以使用內建的__all__來更改*所包含的變數名from spam import*
print(x)
func()
#執行結果:
1from spam
from小結:__all__ = ['func']
x = 1
def func():
print('from spam')
#在執行檔案引用:
from spam import*
print(x)
func()
#執行結果:
#nameerror: name 'x' is not defined
使用from的優點:相比於import更加簡潔,每次直接使用變數名即可
使用from的缺點:當執行檔案中擁有與被匯入模組變數名相同時,會產生衝突
Python學習之路 模組
python作為當今一種十分流行地語言,在許多方面都有著涉及,而支撐python能夠這麼強大的就是許許多多的開源庫。每乙個庫也是乙個模組,我們在設計程式時也要盡量將程式模組化。程式模組化後在後面的程式開發中就可以通過組合模組來搭建完整程式,避免重複造輪子的現象。模組化的優點 在python中利用im...
python之路 logging模組
import logging logging.debug debug message bug logging.info info message 資訊 logging.warning warning message 警告 logging.error error message 錯誤 logging....
python之路 常用模組
什麼是模組 什麼是模組?常見的場景 乙個模組就是乙個包含了python定義和宣告的檔案,檔名就是模組名字加上.py的字尾。但其實import載入的模組分為四個通用類別 1.使用python編寫的 py檔案 2.已被編譯為共享庫或dll的c或c 擴充套件 3.包好一組模組的包 4.使用c編寫並鏈結到p...