python 入坑學習之模組與包管理04

2021-09-03 07:29:52 字數 1975 閱讀 1919

在現在的計算機程式語言中都會出現這個模組話的概念,當然在我學習的前端技術中也有這個模組,模組話,模組打包等等。

現在我也來總結一下自己學習python中模組的知識點

一、模組:就是乙個包含python**,字尾名是.py的python檔案

優點:這個模組的優點和其他語言都類似:程式太大需要拆分程式**塊這樣可以幫助程式設計師對整個專案或乙個大功能的開發;模組化的**可以重複利用;當作命名中間使用,在這個模組中和另乙個模組中有出現相同命名的變數時,不會相互影響。

如何定義:只要是.py檔案就是乙個模組

建議:1、在模組中最好實現的功能要單一;

2、類,相似功能的組合,或者相似業務的;

3、模組的最後要有乙個測試**;

如何使用模組:

1、import 模組檔名

模組檔名.funcname() --->這是呼叫模組中的方法

模組檔名.classname --->同樣也能類似的例項模組中的宣告的類

2、import 模組名 as 別名(這是在引入模組的時候給模組取乙個別名,為了不使模組名和**中的變數名不重複)

3、from 模組名 import funcname,classname(選擇性匯入模組中的方法或類)

4、from 模組名 import * (匯入模組中的所有資源)

注意點:

在模組中也有需要任何呼叫等操作就可以執行的**行,但是這些**行在匯入模組的時候就會立馬執行,但是當前**中無需執行那些**怎麼辦?

if __name__ == "__main__":

模組的搜尋路徑:

import sys

sys.path ----> 獲取路徑列表

模組的載入順序:

1、搜尋記憶體中已經載入好的模組

2、搜尋python的內建模組

3、搜尋sys.path路徑

二、包:就是將多個模組(python檔案)放在乙個資料夾裡的就是包

就好比多個模組檔案實現了加減乘除等小功能,合在一起生成乙個包,而這個包就實現了整個計算的功能。

自定義包(結構):

|---包

|---|--- __init__.py 包的標誌檔案(必須要有的檔案)

|---|--- 模組1

|---|--- 模組2

|---|--- 子包(子資料夾)

|---|---|--- __init__.py 包的標誌檔案

|---|---|--- 子包模組1

|---|---|--- 子包模組2

包的匯入:

1、import 包名

2、import 包名 as 別名

3、import 包名.模組名

4、import 包名.模組名 as 別名

5、from 包名 import 模組1,模組2,模組3

這種方法不會執行__init__.py中的內容

6、from 包名 import *

這種匯入方法會執行__init__.py中的**

在呼叫這個包中的方法的時候只需要直接funcname() 或 classname() 就好,但是這樣就會有乙個問題,萬一在**中有相同名字的方法名和型別就尷尬了!!!

7、from 包名.模組名 import *

故名思意,就是匯入包的某個模組中的所有

__all__ 的用法:

a. 在使用from package import * 的時候, * 可以匯入的內容 

b. __init__.py中如果檔案為空, 或者沒有 __all__, 那麼只可以把__init__中的內容匯入

c. __init__ 如果設定了__all__的值,那麼則按照__all__ 指定的子包或者模組進行載入 如此則不會載入__init__中的內容

d. __all__=['module1', 'module2', 'package1'.........]

在開發環境中經常會所以用其他模組,可以在當前包中直接匯入其他模組中的內容:

import 完整的包或者模組的路徑

Python之模組與包

a 在 python 中,乙個.py檔案就稱之為乙個模組 module 大大提高了 的可維護性 編寫 不必從零開始。當乙個模組編寫完畢,就可以被其他地方引用 b 呼叫函式時用import a getpass模組提供了可移植的密碼輸入 import getpass getpass.getpass b ...

Python之模組與包

模組匯入過程 0.先判斷sys.modules字典中檢視模組是否已經存在,如存在則不做任何操作 1.從sys.path路徑下找到模組 2.建立模組的命名空間 3.把檔案中的名字都放到這個命名空間裡 import sys print sys.path import modue1 import只匯入一次...

python之模組與包

包是一種通過使用模組名來組織python模組命名空間的方式 無論是import形式還是from.import形式,凡是在匯入語句中 而不是在使用時 遇到帶點的,都要第一時間提高警覺 這是關於包才有的匯入語法 包的本質就是乙個包含 init py檔案的目錄 凡是在匯入時帶點的,點的左邊都必須是乙個包 ...