首頁(yè)常見(jiàn)問(wèn)題正文

Python培訓(xùn):模塊的基本使用

更新時(shí)間:2022-09-02 來(lái)源:黑馬程序員 瀏覽量:

IT培訓(xùn)班

  今天的Python培訓(xùn),我們講解一下模塊的基本使用。在Python中可以使用import關(guān)鍵字來(lái)引入某個(gè)模塊,例如,引入math模塊,可以使用import math引入。

  使用import引入模塊的基本格式如下所示:

import modulel, mudule2...

  當(dāng)解釋器遇到import語(yǔ)句,如果模塊位于當(dāng)前的搜索路徑,那么該模塊就會(huì)被自動(dòng)導(dǎo)入。

  如果要調(diào)用某個(gè)模塊中的函數(shù),必須這樣引用:

模塊名.函數(shù)名

  在調(diào)用模塊中的函數(shù)時(shí),之所以要加上模塊名,是因?yàn)樵诙鄠€(gè)模塊中,可能存在名稱相同的函數(shù),此時(shí)如果只是通過(guò)函數(shù)名來(lái)調(diào)用,解釋器無(wú)法知道到底要調(diào)用哪個(gè)函數(shù)。因此,如果像上述那樣引入模塊的時(shí)候,調(diào)用函數(shù)必須加上模塊名。具體示例如下:

import math
# 這樣會(huì)報(bào)錯(cuò)
print(sqrt(2))
# 這樣才能正確輸出結(jié)果
print(math.sqrt(2))

  有時(shí)候我們只需要用到模塊中的某個(gè)函數(shù),此時(shí)可以只引入模塊的這個(gè)函數(shù),直接套用下面的格式實(shí)現(xiàn):

from 模塊名 import 函數(shù)名1, 函數(shù)名2...

  例如,要導(dǎo)入模塊fib的fibonacci函數(shù),使用如下語(yǔ)句:

from fib import fibonacci

  通過(guò)這種方式引入函數(shù)的時(shí)候,調(diào)用函數(shù)時(shí)只能給出函數(shù)名,不能給出模塊名,但是當(dāng)兩個(gè)模塊中含有相同名稱函數(shù)的時(shí)候,后面一次引入會(huì)覆蓋前一次引入。也就是說(shuō)加入模塊A中有函數(shù)function,在模塊B中也有函數(shù)function,如果引入A中的function在線、B中的function在后,那么當(dāng)調(diào)用function函數(shù)的時(shí)候,是去執(zhí)行模塊B中的function函數(shù)。

  如果想把一個(gè)模塊的所有內(nèi)容全都導(dǎo)入到當(dāng)前的命名空間也是可行的,只需使用如下聲明:

from 模塊名 import *

  例如,將math模塊中的所有內(nèi)容導(dǎo)入,使用下列語(yǔ)句:

from math import *

  需要注意的是,雖然Python提供了導(dǎo)入一個(gè)模塊中所有內(nèi)容的樣式,但是這種方式不該被過(guò)多的使用。

  當(dāng)我們使用import引入某個(gè)模塊后,Python解釋器是怎樣找到對(duì)應(yīng)的文件呢?這就涉及到Python的搜索路徑,搜索路徑是由一系列目錄名組成的,Python的解釋器會(huì)依次從這些目錄中去尋找所引入的模塊。搜索路徑是在Python編譯或安裝的時(shí)候確定的,安裝新的庫(kù)應(yīng)該也會(huì)修改。

分享到:
在線咨詢 我要報(bào)名
和我們?cè)诰€交談!