二、庫(library)
三、包(package)
1.模組的概念
每乙個python指令碼都是乙個可執行.py檔案,也就是乙個模組,每乙個模組包含著許多方法,也就是函式。模組是乙個有組織的**片段。
建立乙個模組(其路徑如下):
#authors:xiaobei
deffunc1()
:return
1def
func2()
:return
2def
fun3()
:return
3print
("this is a moudule"
)
2.模組的匯入
模組的匯入與庫的匯入方式相同
#import + 模組名
import moudule
3.模組的引用於__name__屬性n = moudule.func1(
)print
(n)
執行結果:
this is a moudule
1
我們看到了兩個輸出:第一行是模組內的輸出,第二行才是我們想要的主程式輸出。出現這樣的結果是因為我們在呼叫moudule模組時,並執行它。
但是,往往我們不需要執行它,而是僅僅呼叫模組內的方法(即使moudule模組中沒有輸出,我們仍不希望使它執行來消耗資源
if __name__ ==
"__main__"
:print
("moudule is ranning"
)print
(__name__)
#作為檢測1
else
:print
("moudule is called"
)print
(__name__)
#作為檢測2
deffunc1()
:return
1def
func2()
:return
2def
fun3()
:return
3
當moudule模組被當做程式執行時,__name__屬性返回"main",否則(被呼叫時)返回模組名。則在兩種狀態下的結果不同:
1.執行時:
moudule is ranning
__main__
2.被呼叫時
moudule is called
moudule
1.庫的概念
庫是具有相關功能模組的集合。這也是python的一大特色,即具有強大的庫。
2.庫的分類:
標準庫:python內建庫
第三方庫:由他人寫成,分享出來的庫
自定義庫:自己所寫,為自己所用(與第三方庫相對)
3.第三方庫的安裝
pip install +(庫名)
1.包的概念
包是具有層次的目錄檔案結構,它定義了有無數個模組或無數個子包組成的python應用程式執行環境。
包目錄[示例]
||——— ——[package]
| —— ——[__init__.py]
| —— ——[moudule1.py]
| —— ——[moudule2.py]
| —— ——[sub-package1]
| —— ——[__init__.py]
| —— ——[moudule3.py]
| —— ——[moudule4.py]
| —— ——[sub-package2]
| —— ——[__init__.py]
| —— ——[moudule5.py]
| —— ——[moudule6.py]
| —— ——[moudule7.py]
| —— ——[moudule8.py]
但只有含有__init__.py檔案的才能算是乙個包,這個檔案中可以什麼都不寫,只是作為乙個標識,也可以寫一些初始化包的**。也就是說,包是乙個包含了__init__.py檔案的資料夾。每次呼叫包時,都會執行__init__.py檔案。
2.區別
模組、庫、包的區別是定義及範圍不同,呼叫方法有相似之處。
python中模組,包,庫的概念
模組 就是.py檔案,裡面定義了一些函式和變數,需要的時候就可以匯入這些模組。包 在模組之上的概念,為了方便管理而將檔案進行打包。包目錄下第乙個檔案便是init.py,然後是一些模組檔案和子目錄,假如子目錄中也有init.py,那麼它就是這個包的子包了。常見的包結構 package a init.p...
Python中模組和包的概念
由於在python中一切皆為物件 object 想要好好理解module和package,一定要先理解namespace的概念。所謂namespace,是指標示符的可見範圍。對於python而言,常見的namespace主要有以下幾種 build in namespace 內建命名空間 global...
python中庫 包 模組
模組 就是.py檔案,裡面定義了一些函式和變數,需要的時候就可以匯入這些模組。包 在模組之上的概念,為了方便管理而將檔案進行打包。包目錄下第乙個檔案便是init.py,然後是一些模組檔案和子目錄,假如子目錄中也有init.py,那麼它就是這個包的子包了。常見的包結構 package a init.p...