python深入之包和模組,包和模組的匯入方式

2021-08-22 12:08:51 字數 1574 閱讀 5112

關於包和模組

(2)包:是乙個有層級的目錄結構,包含n個模組或者n個子包,包中一定要有__init__.py檔案

(3)庫:是完成一定功能的**集合,表現形式是乙個模組,或包

(4)框架:是乙個架構層面的概念,為解決乙個開放性問題而設計的具有一定約束性的支撐結構,通過框架可以快速實現乙個解決問題的骨架,後面按照框架中的角色去填充和互動,就可以完成質量高,維護性強的專案

(5)包和模組的作用:1.有效的對程式進行分解,方便**的管理和維護,如造一輛車,就得先造好輪子、發動機和殼等小的零件,再將這些小零件組合,就可以做成車,同樣,拿模組和包過來就可以則合成大的程式;2.避免同一模組中命名重複問題

關於包和模組的分類

(3)自定義包和模組:使用者自己寫的一些好的包和模組

關於包和模組的資訊

(1)包和模組名:包名是包的名稱,模組名是.py檔案的名稱

(2)包和模組位置:可以通過「print(模組.__file__)」來檢視包和模組的位置資訊

(3)包和模組中的內容:可以通過「print(dir(模組))」來檢視列出的包和模組中的內容

關於python不同版本之間不相容的問題

(1)不相容物件:包和模組

(2)不相容原因:包和模組中存在一些類,函式和屬性等,如果有兩個版本,1.f前者有乙個名為a的函式,而後者沒有;2兩者都有名為b的函式,但前者只傳乙個引數,後者要傳兩個引數;3.前者本來沒有名為c的函式,但後者卻有。這些情況都將導致兩個版本的python不相容

關於包和模組的匯入(重點)

(1)作用:可以使用包和模組中的好的模組和方法等工具

(2)包的匯入方式

常規匯入:方式1.import m;方式2.import m1,m2;方式3.import m as 別名。如果匯入的是乙個包中的模組,則需要使用「.」語法,如import 包.模組

注意:使用匯入的模組中的內容時,要使用「.」語法,如m.run(),即使用匯入的m模組中的run()方法

補充:直接匯入乙個包,則不會匯入任何包中的模組,但是會執行包中的__init__.py檔案的內容,這裡的解決方法是1.再在__init__.py檔案中對需要的模組進行匯入(使用絕對路徑);2.使用from 包 import 模組的形式進行匯入

from a import b:使用此方式匯入模組時,b一定只能寫乙個模組名,不能帶有「.」語法,而a可以是乙個包,也可以是包中的子包,可以使用「.」語法,如from 包.子包 import 模組。這裡需要注意的是python中的一種面向關係,即包中只能看到模組,不能看到模組中的資源,而模組只能看見其中的資源,不能看見別的東西

from a import *(重點):這種匯入方式如果是將模組中的所用資源匯入過來使用,那麼這裡的a只能是模組;如果a是包,則是將該包中所有的模組都匯入進來。需要注意的是,這裡有兩種特殊情況,1.在a模組中使用__all__=["a","b()"]屬性時,則使用from a import *進行匯入後就只能使用列表中寫的屬性和方法,如果沒有寫__all__=["a","b()"]屬性,則預設可以使用a中所有的資源;2.如果a中存在受保護的或者私有的資源,則必須使用__all__=["_a","__b()"]屬性進行說明,否則直接使用from a import *進行匯入後,仍然無法使用這些資源

python 模組和包 python模組和包

一.模組 python 模組 module 是乙個 python 檔案,以 py 結尾,包含了 python 物件定義和python語句。模組能定義函式,類和變數,模組裡也能包含可執行的 二.匯入模組 1.語法 import模組名from 模組名 import功能名from 模組名 import i...

Python之模組和包

模組是 python 程式架構的乙個核心概念 1 import 匯入import 模組名1 模組名2import 模組名1 import 模組名2 使用as指定模組的別名如果模組的名字太長,可以使用as指定模組的名稱,以方便在 中的使用 import 模組名1 as 模組別名注意 模組別名應該符合大...

Python學習 之 模組和包

包 匯入同級目錄下的模組 直接匯入 import mod 匯入並起別名 import mod as mod name 匯入不同級目錄下的模組 from dir.xx.xx import mod from dirimport mod as mod name 匯入目錄下所有模組 from dirimpo...