python中自带的模块_python中的模块详解
概念
python中的模塊是什么?簡而言之,在python中,一個文件(以“.py”為后綴名的文件)就叫做一個模塊,每一個模塊在python里都被看做是一個獨(dú)立的文件。模塊可以被項(xiàng)目中的其他模塊、一些腳本甚至是交互式的解析器所使用,它可以被其他程序引用,從而使用該模塊里的函數(shù)等功能,使用Python中的標(biāo)準(zhǔn)庫也是采用這種方法。
分類
在Python中模塊分為以下幾種:
系統(tǒng)內(nèi)置模塊,例如:sys、time、json模塊等等;自定義模塊,自定義模塊是自己寫的模塊,對某段邏輯或某些函數(shù)進(jìn)行封裝后供其他函數(shù)調(diào)用。注意:自定義模塊的命名一定不能和系統(tǒng)內(nèi)置的模塊重名了,否則將不能再導(dǎo)入系統(tǒng)的內(nèi)置模塊了。例如:自定義了一個sys.py模塊后,再想使用系統(tǒng)的sys模塊是不能使用的;第三方的開源模塊:這部分模塊可以通過pip install進(jìn)行安裝,有開源的代碼;
使用模塊
我們先來看一個例子,導(dǎo)入系統(tǒng)內(nèi)置的sys模塊:
在第二行處,寫了這樣一句話:“import sys”,表示使用系統(tǒng)自帶的sys模塊,因此,在下面的代碼里,就可以使用sys模塊里的函數(shù):“sys.argv”,它的作用是返回命令行的參數(shù)列表。
使用關(guān)鍵詞“import”,后面跟具體的模塊名稱,則可以導(dǎo)入某一個模塊;同一個模塊不管你執(zhí)行了多少次“import”,只會被導(dǎo)入一次,以防止模塊一遍又一遍的被執(zhí)行;“import”應(yīng)該被放在代碼的頂端;
接下來我們導(dǎo)入一個自定義的模塊,首先我們定義一個模塊,并且把這個模塊的名字叫做“myprint.py”,如下圖所示:
這個模塊里定義了一個函數(shù),打印輸入的參數(shù),并且在后面再加上一行自定義打印的文字。將這個文件保存,接下來讓我們看調(diào)用方法:
在調(diào)用的地方,同樣只需要輸入“import myprint”,然后就可以在任意地方調(diào)用了,調(diào)用的方法也是一樣,用該模塊的名字.函數(shù)名稱(參數(shù))就能達(dá)到調(diào)用目的。
from...import
剛才我們提到了引入一個模塊使用“import”關(guān)鍵詞,它將把這個模塊整個引入進(jìn)來,那么,from...import則是引入一個指定部分到當(dāng)前的命名空間中來,例如我們有如下圖所示的一個模塊:
上面的模塊定義了兩個函數(shù),分別是“print_myself”和“print_other”,現(xiàn)在我們用from...import使用這個模塊,并且只想使用第一個函數(shù),如下圖:
從上面的兩個例子,我們可以看到,“import”和“from...import”的作用都是引入一個模塊,它們的區(qū)別在于:
“import”是引入一個完整的模塊,“from...import”是引入模塊中的一個或多個指定部分;“import”引入模塊后,如果需要使用模塊里的函數(shù)方法,則需要加上模塊的限定名字,“from...import”則不用加模塊的限定名字,直接使用其函數(shù)方法;值得一提的是,還有一種引入模塊的方法:“from...import*”,舉例如下圖:
請看,剛才運(yùn)行時會出錯的地方“print_other”不會出錯了!但是,絕大多數(shù)編程人員不會這么寫,因?yàn)樗淮涡缘陌岩粋€模塊里的所有函數(shù)、變量都一次性的引入進(jìn)來了(單下劃線“_”開頭的名字不在此列),有可能會覆蓋現(xiàn)有代碼的定義;
小結(jié)
Python中模塊化的好處多多,總結(jié)起來,有如下優(yōu)點(diǎn):
提高了代碼的可維護(hù)性;一個模塊編寫完畢之后,其他模塊直接調(diào)用,不用再從零開始寫代碼了,節(jié)約了工作時間;避免函數(shù)名稱和變量名稱重復(fù),在不同的模塊中可以存在相同名字的函數(shù)名和變量名,但是,切記,不要和系統(tǒng)內(nèi)置的模塊名稱重復(fù);
總結(jié)
以上是生活随笔為你收集整理的python中自带的模块_python中的模块详解的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何维持手机电池寿命_充电小知识:你知道
- 下一篇: 关于鞠婧祎的网名91个