更新時間:2022-09-02 來源:黑馬程序員 瀏覽量:
今天的Python培訓(xùn),我們講解一下模塊的基本使用。在Python中可以使用import關(guān)鍵字來引入某個模塊,例如,引入math模塊,可以使用import math引入。
使用import引入模塊的基本格式如下所示:
import modulel, mudule2...
當(dāng)解釋器遇到import語句,如果模塊位于當(dāng)前的搜索路徑,那么該模塊就會被自動導(dǎo)入。
如果要調(diào)用某個模塊中的函數(shù),必須這樣引用:
模塊名.函數(shù)名
在調(diào)用模塊中的函數(shù)時,之所以要加上模塊名,是因為在多個模塊中,可能存在名稱相同的函數(shù),此時如果只是通過函數(shù)名來調(diào)用,解釋器無法知道到底要調(diào)用哪個函數(shù)。因此,如果像上述那樣引入模塊的時候,調(diào)用函數(shù)必須加上模塊名。具體示例如下:
import math # 這樣會報錯 print(sqrt(2)) # 這樣才能正確輸出結(jié)果 print(math.sqrt(2))
有時候我們只需要用到模塊中的某個函數(shù),此時可以只引入模塊的這個函數(shù),直接套用下面的格式實現(xiàn):
from 模塊名 import 函數(shù)名1, 函數(shù)名2...
例如,要導(dǎo)入模塊fib的fibonacci函數(shù),使用如下語句:
from fib import fibonacci
通過這種方式引入函數(shù)的時候,調(diào)用函數(shù)時只能給出函數(shù)名,不能給出模塊名,但是當(dāng)兩個模塊中含有相同名稱函數(shù)的時候,后面一次引入會覆蓋前一次引入。也就是說加入模塊A中有函數(shù)function,在模塊B中也有函數(shù)function,如果引入A中的function在線、B中的function在后,那么當(dāng)調(diào)用function函數(shù)的時候,是去執(zhí)行模塊B中的function函數(shù)。
如果想把一個模塊的所有內(nèi)容全都導(dǎo)入到當(dāng)前的命名空間也是可行的,只需使用如下聲明:
from 模塊名 import *
例如,將math模塊中的所有內(nèi)容導(dǎo)入,使用下列語句:
from math import *
需要注意的是,雖然Python提供了導(dǎo)入一個模塊中所有內(nèi)容的樣式,但是這種方式不該被過多的使用。
當(dāng)我們使用import引入某個模塊后,Python解釋器是怎樣找到對應(yīng)的文件呢?這就涉及到Python的搜索路徑,搜索路徑是由一系列目錄名組成的,Python的解釋器會依次從這些目錄中去尋找所引入的模塊。搜索路徑是在Python編譯或安裝的時候確定的,安裝新的庫應(yīng)該也會修改。
Kettle的設(shè)計原則是什么?【大數(shù)據(jù)培訓(xùn)】
2022-09-01Python閉包的作用【Python培訓(xùn)】
2022-09-01Python培訓(xùn):匿名函數(shù)與普通函數(shù)相比的區(qū)別
2022-09-01如何區(qū)分python中的鏈表和數(shù)組?
2022-08-31如何進(jìn)行數(shù)據(jù)清洗?數(shù)據(jù)清洗的基本流程?
2022-08-31Spark3.x的Adaptive Query Execution自適應(yīng)查詢技術(shù)
2022-08-31