【Python知识树 -- 预备知识】之 模块管理
(一)模塊是什么 -- What
一個模塊就是包含一組功能的Python文件,比如 module.py,模塊名就是module
具體來講有下面四種形式:
(1)使用python編寫的py文件
(2)已被編譯為共享庫或者DLL的C或C++擴展
(3)把一系列模塊組織到一起的文件夾,其中有一個init.py,文件夾稱之為包
(4)使用c編寫并鏈接到python解釋器的內置模塊
Question : 模塊、包、庫的區別?
> 模塊 module
?? - 單個的py文件,文件名就是模塊名
?? - py文件中定義了有 全局變量、類、方法等,可通過 模塊名.xxx 進行調用
?? - 模塊名.__name__ --> 當module被import時,可以通過 __name__調用模塊名
?? - 舉例:
?????? import sys
?????? print(sys.__name__)??? # sys
> 包 package
?? - 包是一個有層次的文件目錄結構,體現了模塊的結構化管理思想
?? - 構成:子包、模塊文件、__init__.py (包的標志性文件)
?? - __init__.py文件中寫入包被調用時,子包或模塊被導入的初始化代碼
?? - from PyInstaller.utils.git import get_repo_revision
????? # 從PyInstaller包中的子包 utils調用git模塊文件下的get_repo_revision方法
> 庫 library
?? - python的一個項目
?
(二) 為什么使用它 -- Why
(1)對于大型項目,代碼量較多,模塊化管理方便團隊作戰;
(2)方便后期維護,提高代碼復用率;
(3)拿來主義,避免重復造輪子;
(三)如何使用它 -- How
?# 代碼中導入庫文件的方法
(1)import xxx ???????????????????? # 導入模塊
(2)import aaa, bbb, ccc???? # 導入多個模塊,不推薦
(3)from xxx import xxx????? # 從模塊中導入需要的對象/方法
(4)from xxx import *????????? # 導入模塊中的開頭不是 ‘_’ 的對象,不推薦
(5)from aaa import b as c ??? # 起別名
(6)from aaa import bb, cc, dd?? # 比較推薦
注意:代碼可以放在任意位置,但是為了書寫規范,通常在開頭位置
?# 自定義模塊(參考下面鏈接)
命名規范:名稱小寫,禁止中文、特殊字符等; 不可與內置模塊起沖突d
?python模塊與包,以及一些常用的模塊_kismile-CSDN博客
Python基礎之模塊管理_屈帥波的技術博客-CSDN博客_python 模塊管理
總結
以上是生活随笔為你收集整理的【Python知识树 -- 预备知识】之 模块管理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 软件工程应用与实践(2)——知识图谱树形
- 下一篇: websocket python爬虫_p