python中模塊導(dǎo)入模式詳解
模塊導(dǎo)入
1.1 import導(dǎo)入模塊
- 所謂的模塊其實(shí)就是一個(gè)外部的工具包,其中存在的其實(shí)就是Python文件,這些文件都實(shí)現(xiàn)了某種特定的功能,我們導(dǎo)入包之后直接使用即可,非常的方便。
- 在開發(fā)中使用最多的就是使用: import 方式進(jìn)行導(dǎo)入。導(dǎo)入的包一般放在文件的最前面。
- 語法格式 : import 模塊名
# 導(dǎo)入時(shí)間模塊 import timr # 使用時(shí)間模塊中的方法 time.ctime()
- 調(diào)用模塊方法的語法格式: 模塊名.函數(shù)名 ,這樣調(diào)用可以防止不同模塊中有同名方法導(dǎo)致錯(cuò)誤。
1.2 from 模塊名 import 導(dǎo)入模板的方法
- 一個(gè)模塊可能存在很多的函數(shù),如果只是想導(dǎo)入其中的幾個(gè)函數(shù),可以使用from xxx import xxx 方式導(dǎo)入。
- 使用這種方式導(dǎo)入之后不用在使用 模塊名.函數(shù)名 的方式來調(diào)用函數(shù),可以直接使用 函數(shù)名。但是一定要注意這種形式可能會(huì)產(chǎn)生覆蓋的情況,當(dāng)導(dǎo)入了兩個(gè)不同包中的同名的函數(shù)的時(shí)候,第二個(gè)函數(shù)會(huì)覆蓋第一個(gè)函數(shù)
舉例:只想導(dǎo)入time模塊中的ctime、time兩個(gè)方法,可以按照以下的格式導(dǎo)入:
# 導(dǎo)入模塊中指定的方法 from time import ctime,time # 調(diào)用方法 ctime() time()
注意:使用from導(dǎo)入,如果函數(shù)名相同,后面導(dǎo)入的會(huì)覆蓋前面導(dǎo)入的函數(shù)。
- 可以一次性的把一個(gè)模塊中的全部數(shù)據(jù)進(jìn)行導(dǎo)入。 語法格式: from xxx import *
from time import *
1.3 as 關(guān)鍵字
- as關(guān)鍵字:給模塊取別名,有時(shí)候?qū)氲哪K的名稱很長(zhǎng),調(diào)用的時(shí)候很不方便,使用as關(guān)鍵字就可以給模塊取一個(gè)其他的名字。
- 當(dāng)給模塊起了別名之后以前模塊的名字就會(huì)失效。
import time as myTime # 使用別名調(diào)用函數(shù),正確 myTime.ctime() # 使用以前模塊的名字調(diào)用,錯(cuò)誤 time.ctime()
OS模塊操作文件
OS模塊的作用
- 對(duì)文件進(jìn)行重命名、刪除等一些操作,在Python中可以利用os模塊。 os模塊提供了一些系統(tǒng)級(jí)別的操作命令
模塊的制作、發(fā)布、安裝
3.1 模塊制作
- Python文件都可以作為一個(gè)模塊,模塊的名字就是文件的名字。比如創(chuàng)建一個(gè)test.py文件,文件中創(chuàng)建一個(gè)add()函數(shù)。此時(shí)test.py文件就是一個(gè)模塊,可以在其他的python文件中直接引入使用。
- 一個(gè)模塊中可以包含函數(shù)、類、變量,也能包含可執(zhí)行的代碼。
- 不同的模塊可以定義相同的變量名,但是每個(gè)模塊中的變量名作用域只是在本模塊中。
3.2 模塊的分
內(nèi)置:python已經(jīng)存在的。
自定義:我們自己編寫的功能模塊。
3.3 示例
- 定義一個(gè)相加的功能模塊 (addUp.python 文件)
# 定義一個(gè)執(zhí)行相加的功能模塊 def add(x, y): return x + y
- 在其他文件中引入并使用這個(gè)相加的功能模塊
# 引入相加的功能模塊(給模塊起別名) 引入整個(gè)模塊 import addUp as add # 使用引入模塊中的函數(shù) (模塊名.方法名) print(add.add(1, 2)) # 3
# 直接引入模塊中的指定函數(shù) from addUp import add # 使用引入模塊中的函數(shù) (函數(shù)名) print(add(1, 2)) # 3
# 導(dǎo)入模塊中的所有函數(shù) from addUp import * # 使用引入模塊中的函數(shù) print(add(1, 2)) # 3
3.4 測(cè)試方法
重點(diǎn):在功能模塊中對(duì)模塊進(jìn)行測(cè)試的時(shí)候,需要使用如下的格式
# 定義一個(gè)執(zhí)行相加的功能模塊 def add(x, y): return x + y # 測(cè)試該模塊中的功能。使用這種形式測(cè)試就不會(huì)發(fā)生其他文件在使用這個(gè)功能模塊的時(shí)候輸出這個(gè)測(cè)試結(jié)果 # 是因?yàn)榇藭r(shí)被這個(gè) if 條件進(jìn)行了控制 if __name__ == '__main__': # 測(cè)試功能模塊中的函數(shù) res = add(1, 3) print('測(cè)試模塊中的add函數(shù)的結(jié)果:%s' % res) # 測(cè)試模塊中的add函數(shù)的結(jié)果:4 pass
3.5 all魔術(shù)方法
- 指定對(duì)外暴露的功能函數(shù)。
# all 魔術(shù)方法可以存儲(chǔ)讓其暴露在外的函數(shù)們,將一些函數(shù)不對(duì)外暴露 # 注意:只有當(dāng)調(diào)用者使用的是 from addUp import * 這種形式的時(shí)候all魔術(shù)方法才會(huì)生效 # 如果使用 from addUp import multiply ,add ,subtract 方式,all也不會(huì)生效 # 如果是使用 import 模塊名 的形式這個(gè) all 不會(huì)生效,這個(gè)模塊中的所有方法還是全部可以暴露的。 # 總結(jié):all魔術(shù)方法只會(huì)對(duì) from addUp import * 這種格式的導(dǎo)入生效 __all__ = ['add', 'subtract'] def add(x, y): return x + y def subtract(x, y): return x - y def multiply(x, y): return x * y # 測(cè)試該模塊中的功能 if __name__ == '__main__': # 測(cè)試功能模塊中的函數(shù) res = add(1, 3) print('測(cè)試模塊中的add函數(shù)的結(jié)果:%s' % res) # 測(cè)試模塊中的add函數(shù)的結(jié)果:4 pass
以上就是python中模塊導(dǎo)入模式詳解的詳細(xì)內(nèi)容,更多關(guān)于python模塊導(dǎo)入模式的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
SublimeText 2編譯python出錯(cuò)的解決方法(The system cannot find the file
這篇文章主要介紹了SublimeText 2編譯python報(bào)The system cannot find the file specified錯(cuò)誤的解決方法,大家參考使用吧2013-11-11Python&Matla實(shí)現(xiàn)模擬退火法的示例代碼
模擬退火和蒙特卡洛實(shí)驗(yàn)一樣,本文主要介紹了Python&Matla實(shí)現(xiàn)模擬退火法的示例代碼,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-03-03Django與AJAX實(shí)現(xiàn)網(wǎng)頁動(dòng)態(tài)數(shù)據(jù)顯示的示例代碼
這篇文章主要介紹了Django與AJAX實(shí)現(xiàn)網(wǎng)頁動(dòng)態(tài)數(shù)據(jù)顯示的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-02-02使用pandas對(duì)矢量化數(shù)據(jù)進(jìn)行替換處理的方法
下面小編就為大家分享一篇使用pandas對(duì)矢量化數(shù)據(jù)進(jìn)行替換處理的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-04-04python?PyQt5中QButtonGroup的詳細(xì)用法解析與應(yīng)用實(shí)戰(zhàn)記錄
在PyQt5中,QButtonGroup是一個(gè)用于管理按鈕互斥性和信號(hào)槽連接的類,它可以將多個(gè)按鈕劃分為一個(gè)組,管理按鈕的選中狀態(tài)和ID,本文詳細(xì)介紹了QButtonGroup的創(chuàng)建、使用方法和實(shí)際應(yīng)用案例,適合需要在PyQt5項(xiàng)目中高效管理按鈕組的開發(fā)者2024-10-10Python3.5基礎(chǔ)之函數(shù)的定義與使用實(shí)例詳解【參數(shù)、作用域、遞歸、重載等】
這篇文章主要介紹了Python3.5基礎(chǔ)之函數(shù)的定義與使用,結(jié)合實(shí)例形式詳細(xì)分析了Python3.5函數(shù)的定義、參數(shù)、作用域、遞歸、重載、內(nèi)置函數(shù)等基本概念與相關(guān)使用技巧,需要的朋友可以參考下2019-04-04Anaconda+vscode+pytorch環(huán)境搭建過程詳解
這篇文章主要介紹了Anaconda+vscode+pytorch環(huán)境搭建過程詳解,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-05-05