python 基礎之模組與包

python小胡發表於2018-12-15

模組與包

一、模組

1、模組概念
  • 模組指包含了python程式的原始檔,每一個獨立的 .py 檔案具有特定的功能,其功能可以被其他python程式使用,該檔案就構成了一個模組
  • 模組的名稱必須滿足識別符號的命名規範
2、模組中的資源

模組中的以下資源可以被外界使用:

類(定義)

函式

變數(全域性)

3、模組資源匯入

格式一(全部匯入):

匯入格式:

    import 模組名
複製程式碼

模組資源使用格式:

模組名.類名
模組名.函式名
模組名.變數名
複製程式碼

格式二(區域性匯入):

匯入格式:

from 模組名稱 import 資源名稱
from 模組名稱 import 資源名稱1,資源名稱2
from 模組名稱 import *
複製程式碼

模組資源使用格式:

類名
函式名
變數名
複製程式碼
注意:
如果多次匯入模組中具有同名的資源,後匯入的模組資源覆蓋先匯入的模組資源
複製程式碼
4、區域性匯入資源訪問控制

如果使用格式二中的全部資源匯入方式

from 模組名稱 import *
複製程式碼

可以在模組檔案中第一行設定資源訪問控制

__all__ = ["資源名稱1","資源名稱2"]
複製程式碼

例項如下:

"""在使用 from 模組名稱 import * 匯入資源時,__all__列表中出現名稱的資源可以被其他檔案中使用"""
__all__ =["show","age"]
class Dog():
    @classmethod
    def sepek(cls):
        print("狗在叫")

def show():
    print("hello word!")
    
list1 = [1,2,3,4,5,6]
age = 19
複製程式碼
說明:

__all__列表中出現名稱的資源可以被其他檔案中使用

5、模組檔案的執行程式碼處理

匯入模組的同時會將原模組對應的.py檔案進行執行,包括書寫的執行程式碼,通過下列方式遮蔽原始模組中的執行程式碼:

if __name__ == "__main__":
	執行程式碼
複製程式碼
6、模組資源執行工作原理

模組資源匯入時,直譯器第一次讀取原始資原始檔,並生成快取檔案。 再次使用時直接使用快取檔案,加速程式執行。

二、包

1、包的概念

包就是專案結構中的資料夾/目錄

2、包的作用
  • 包用於將不同的模組進行分類管理,包本身不具有具體的含義,僅用於檔案分層管理
  • 注意事項:放入包中的模組使用時需要在模組名前面新增包名,中間使用.分隔

相關文章