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

【Python基礎知識】Python模塊

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

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

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

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

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

③可重用性:?jiǎn)蝹(gè)模塊中定義的功能可以被應用程序的其他部分輕松地重用(通過(guò)定義適當的接口)。這樣就不需要編寫(xiě)重復的代碼。

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

模塊

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

①使用Python編寫(xiě)模塊。

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

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

在這三種方式下,都以相同的方式訪(fǎng)問(wèn)模塊的內容:使用import語(yǔ)句。本書(shū)將重點(diǎn)主要放在用Python編寫(xiě)的模塊上。使用Python編寫(xiě)模塊的構建極其簡(jiǎn)單,需要做的就是創(chuàng )建一個(gè)包含合法Python代碼的文件,然后為該文件命名,.py為擴展名。例如,在當前目錄下新建一個(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中定義了以下對象:

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

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

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

④C是一個(gè)類(lèi)。

打開(kāi)交互式解釋器,可以通過(guò)導入模塊來(lái)訪(fǎng)問(wèn)這些對象:

  1. >>> import module   # 導入之前定義的模塊 
  2. >>> # 訪(fǎng)問(wèn)模塊中的對象 
  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

模塊搜索路徑

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

①輸入腳本的目錄(如果以腳本模式運行)或當前目錄。

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

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

在Python變量sys.path中,可以訪(fǎng)問(wèn)生成的搜索路徑,該變量是從名為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í)際內容取決于安裝時(shí)的情況,因此,在不同計算機上的運行結果可能會(huì )有所不同。

為了確?梢哉业侥K,需要執行以下操作之一:

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

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

③將module.py放入與安裝相關(guān)的目錄之一(可能沒(méi)有訪(fǎng)問(wèn)權限,具體取決于操作系統)。

文章“【Python基礎知識】Python模塊”已幫助

更多內容

>>本文地址:http://www.lakeplacidphc.com/zhuanye/2021/69826.html

THE END  

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

1 您的年齡

2 您的學(xué)歷

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

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

快速通道fast track

近期開(kāi)班時(shí)間TIME