400-650-7353
您所在的位置:首頁 > IT干貨資料 > python > 【Python基礎(chǔ)知識(shí)】Python模塊

【Python基礎(chǔ)知識(shí)】Python模塊

  • 來源:
  • 2021-08-30 16:42:20
  • 閱讀()
  • 分享
  • 手機(jī)端入口

模塊可以讓代碼有邏輯地組織起來。將相關(guān)代碼分組到一個(gè)模塊中,可以使代碼更易于理解和使用。模塊化編程是指將大型的編程任務(wù)分解為單獨(dú)的、較小的、更易于管理的子任務(wù)或模塊的過程?梢韵衿捶e木一樣將各個(gè)模塊拼湊在一起,以創(chuàng)建更大的應(yīng)用程序。

在大型的編程項(xiàng)目中,模塊化編程有幾個(gè)優(yōu)點(diǎn)。

①簡(jiǎn)便性:一個(gè)模塊通常不關(guān)注整個(gè)的龐大問題,而只關(guān)注問題的一小部分。如果將大型項(xiàng)目拆成一個(gè)個(gè)模塊,那么在處理單個(gè)模塊時(shí),待解決的問題較小,更容易解決問題。模塊化編程會(huì)使開發(fā)大型軟件更加容易,并且不易出錯(cuò)。

②可維護(hù)性:模塊通常經(jīng)過精心設(shè)計(jì),以便它們?cè)诓煌瑔栴}域之間建立邏輯邊界。如果以最小化相互依賴性的方式編寫模塊,那么降低了修改單個(gè)模塊時(shí)對(duì)程序其他部分產(chǎn)生影響的可能性。這使得由許多程序員組成的團(tuán)隊(duì)在大型項(xiàng)目上協(xié)同工作更加簡(jiǎn)單。

③可重用性:?jiǎn)蝹(gè)模塊中定義的功能可以被應(yīng)用程序的其他部分輕松地重用(通過定義適當(dāng)?shù)慕涌?。這樣就不需要編寫重復(fù)的代碼。

④作用域:模塊通常定義一個(gè)單獨(dú)的名稱的空間,這有助于避免程序不同區(qū)域中的標(biāo)識(shí)符之間發(fā)生沖突。

模塊

在Python中,定義模塊的方式有以下三種:

①使用Python編寫模塊。

②使用C編寫模塊,并在運(yùn)行時(shí)動(dòng)態(tài)加載模塊,如re(正則表達(dá)式)模塊。

③內(nèi)建模塊,固有地包含在Python解釋器中,如itertools模塊。

在這三種方式下,都以相同的方式訪問模塊的內(nèi)容:使用import語句。本書將重點(diǎn)主要放在用Python編寫的模塊上。使用Python編寫模塊的構(gòu)建極其簡(jiǎn)單,需要做的就是創(chuàng)建一個(gè)包含合法Python代碼的文件,然后為該文件命名,.py為擴(kuò)展名。例如,在當(dāng)前目錄下新建一個(gè)名為module.py的文件:

  1. s = 'I love Python' 
  2. l = [123
  3.  
  4. def f(arg): 
  5.     print(arg) 
  6.  
  7. class C: 
  8.     pass 

在module.py中定義了以下對(duì)象:

①s是一個(gè)字符串。

②l是一個(gè)列表。

③f是一個(gè)函數(shù)。

④C是一個(gè)類。

打開交互式解釋器,可以通過導(dǎo)入模塊來訪問這些對(duì)象:

  1. >>> import module   # 導(dǎo)入之前定義的模塊 
  2. >>> # 訪問模塊中的對(duì)象 
  3. >>> print(module.s) 
  4. I love Python 
  5. >>> module.l 
  6. [123
  7. >>> module.f(123
  8. 123 
  9. >>> c = module.C() 
  10. >>> c 
  11. <module.C object at 0x10c465710

模塊搜索路徑

以上述示例的導(dǎo)入模塊語句import module為例,Python解釋器執(zhí)行import語句時(shí),將從以下路徑中搜索module.py:

①輸入腳本的目錄(如果以腳本模式運(yùn)行)或當(dāng)前目錄。

②PYTHONPATH環(huán)境變量(如果已設(shè)置)中包含的目錄列表(PYTHONPATH的格式取決于操作系統(tǒng))。

③安裝Python時(shí)配置的與安裝相關(guān)的目錄列表。

在Python變量sys.path中,可以訪問生成的搜索路徑,該變量是從名為sys的模塊中獲取的:

  1. >>> import sys 
  2. >>> sys.path 
  3. ['''/Library/Frameworks/Python.framework/Versions/3.7/lib/python37.zip',
  4.  '/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7'
  5. '/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/lib-dynload'
  6. '/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages'

注意,sys.path的實(shí)際內(nèi)容取決于安裝時(shí)的情況,因此,在不同計(jì)算機(jī)上的運(yùn)行結(jié)果可能會(huì)有所不同。

為了確保可以找到模塊,需要執(zhí)行以下操作之一:

①將module.py放入輸入腳本的目錄(如果以腳本模式運(yùn)行)或當(dāng)前目錄。

②在啟動(dòng)Python解釋器之前,修改PYTHONPATH環(huán)境變量,以包含module.py所在的目錄,或者將module.py放入PYTHONPATH環(huán)境變量已經(jīng)包含的目錄中。

③將module.py放入與安裝相關(guān)的目錄之一(可能沒有訪問權(quán)限,具體取決于操作系統(tǒng))。

文章“【Python基礎(chǔ)知識(shí)】Python模塊”已幫助

更多內(nèi)容

>>本文地址:http://liujunjsxg.cn/zhuanye/2021/69826.html

THE END  

聲明:本站稿件版權(quán)均屬中公教育優(yōu)就業(yè)所有,未經(jīng)許可不得擅自轉(zhuǎn)載。

1 您的年齡

2 您的學(xué)歷

3 您更想做哪個(gè)方向的工作?

獲取測(cè)試結(jié)果
  • 大前端大前端
  • 大數(shù)據(jù)大數(shù)據(jù)
  • 互聯(lián)網(wǎng)營(yíng)銷互聯(lián)網(wǎng)營(yíng)銷
  • JavaJava
  • Linux云計(jì)算Linux
  • Python+人工智能Python
  • 嵌入式物聯(lián)網(wǎng)嵌入式
  • 全域電商運(yùn)營(yíng)全域電商運(yùn)營(yíng)
  • 軟件測(cè)試軟件測(cè)試
  • 室內(nèi)設(shè)計(jì)室內(nèi)設(shè)計(jì)
  • 平面設(shè)計(jì)平面設(shè)計(jì)
  • 電商設(shè)計(jì)電商設(shè)計(jì)
  • 網(wǎng)頁設(shè)計(jì)網(wǎng)頁設(shè)計(jì)
  • 全鏈路UI/UE設(shè)計(jì)UI設(shè)計(jì)
  • VR/AR游戲開發(fā)VR/AR
  • 網(wǎng)絡(luò)安全網(wǎng)絡(luò)安全
  • 新媒體與短視頻運(yùn)營(yíng)新媒體
  • 直播帶貨直播帶貨
  • 智能機(jī)器人軟件開發(fā)智能機(jī)器人
 

快速通道fast track

近期開班時(shí)間TIME