python包使用 Python模組和包使用

2021-10-11 20:24:16 字數 1892 閱讀 7089

1、什麼是模組

模組就是乙個.py的檔案

2、為什麼要使用模組?

最開始的程式(沒有任何組織)----> 函式------>類----->模組------>包  為了讓程式的組織結構更加靈活清晰,降低耦合性、方便管理;

3、如何使用模組

1、import:只能匯入在當前目錄、和內建的模組,使用模組裡的內容需要 模組.來呼叫;

2、from...import:可以匯入不是同級目錄的模組,匯入模組之後,可以直接呼叫模組裡的內容;

3、匯入模組做的3件事情

#匯入模組第一件事情 建立命名空間,用來存放模組檔案中定義的名字

#第二件事情基於剛剛建立的命名空間,找執行一遍模組檔案裡的內容

#第三件事情spm.操作命名空間模組裡的內容

4、模組的搜素路徑

總結模組的查詢順序是:記憶體中已經載入的模組--------->內建模組------------>sys.path路徑中包含的模組(sys.path包含當前目錄)

二、包1、什麼是包?

包是一種通過使用『.模組名』來組織python模組命名空間的方式。本質就乙個包含__init__檔案的目錄

無論是import形式還是from...import形式,凡是在匯入語句中(而不是在使用時)遇到帶點的,都是關於 包才有的匯入語法

from .auth.plugins.core import create,userauthinfo

# 在 .(當前路徑)auth(auth包).plugins(包).core(模組) import( create,userauthinfo)屬性 .左邊的都是包 最後乙個可以是模組

2、使用包

import  (import包名.包名.包名.最後是模組)

importglance.db.models

glance.db.models.register_models('mysql')

from (包名.包名)... import ...(import後面的是模組)

from bao.bao1 import *

如果import後面不指定乙個模組名,只會執行包下的__init__檔案

會執行包下的__init__檔案定義的__all__=[x,y.z]的內容

from glance.db importmodels

models.register_models('mysql')from glance.db.models importregister_models

register_models('mysql')

3、包裡的__init__.py檔案

#在其他模組 匯入import keystone包的時候,會首先執行keystone包下的__init__檔案。

# 如果在__init__檔案匯入了auth.(包)plugins.(包)core(模組) import create,userauthinfo(方法)

# 那麼 import keystone 就可以直接執行 keystone子包下的 模組和模組裡的方法了

4、絕對匯入和相對匯入

絕對匯入:以glance作為起始

相對匯入:用.或者..的方式最為起始(只能在乙個包中使用,不能用於不同目錄內)

在glance/api/version.py#絕對匯入

from glance.cmd importmanage

manage.main()#相對匯入

from ..cmd importmanage

manage.main()

5、單獨匯入

#在與glance同級的test.py中

importglance

glance.cmd.manage.main()'''執行結果:

attributeerror: module 'glance' has no attribute 'cmd''''

Python之包的使用

包 初期理解為資料夾,資料夾包含 init py初始化檔案 包是一種管理python檔案 模組 命名衝突的形式,採用 點模組的名稱 特點 不需要擔心不同的檔案或者模組之間命名衝突 主要是根據同名檔案不同路徑 注意 普通的資料夾 目錄 不能是python中真正意義上的包,需要在資料夾或者目錄下出現乙個...

Python對於包的使用

隨著對python學習的深入,慢慢就會成長起來,這時薪水也會水高船漲。這是因為你的 越寫越多,積累各種 模組也越來越多,對於老闆布置的任務也越來越得心應手,對於客戶提出的要求也越來越隨心所欲。乙個成長起來的程式設計師,與初入門的程式設計師的區別在 呢?顯然不僅僅是薪水的差別,關鍵還是能力的差別。當然...

使用pip管理Python包

pip install 包名 安裝指定的包 pip uninstall 包名 刪除指定的包 pip install upgrade pip user 更新pip pip v 檢視pip版本 pip list 顯示已經安裝的包 pip freeze 顯示已經安裝的包,並以指定的格式顯示 pip fre...