0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

python包、模塊和庫是什么

python爬蟲知識分享 ? 來源:python爬蟲知識分享 ? 作者:python爬蟲知識分享 ? 2022-03-09 16:47 ? 次閱讀

1. 模塊

.py 為后綴的文件,我們稱之為 模塊,英文名 Module。

模塊讓你能夠有邏輯地組織你的 Python 代碼段,把相關(guān)的代碼分配到一個模塊里能讓你的代碼更好用,更易懂。

假設(shè)現(xiàn)在有一個名為 demo.py 的文件,文件內(nèi)容如下

name="Python編程時光"
print("導(dǎo)入成功")

直接使用 import 語句就可以導(dǎo)入,導(dǎo)入之后,就可以使用 模塊名.變量名 的方式訪問這個變量。

>>> import demo
導(dǎo)入成功
>>> demo.name
'Python編程時光'

在導(dǎo)入模塊的時候,有一個非常重要的全局變量需要掌握,那就是 __name__ 這個變量。

現(xiàn)在把 demo.py 的內(nèi)容改成

$ cat demo.py
print("__name__ 的值為: " + __name__)

當模塊被直接執(zhí)行時, __name__ 的值為 __main__

$ python demo.py
__name__ 的值為: __main__

當模塊被導(dǎo)入時, __name__ 的值為 模塊名

>>> import demo
__name__ 的值為: demo

當該模塊被導(dǎo)入后,會在當前目錄下產(chǎn)生一個 叫做 __pycache__ 的緩存文件夾。

$ tree
.
├── __pycache__
│ └── demo.cpython-39.pyc
└── demo.py

這個文件夾有什么用呢?

簡單來說,當你導(dǎo)入模塊的時候,Python解釋器會把模塊的代碼編譯成字節(jié)碼,并放入 __pycache__文件夾中。

這樣以后再次運行的話,如果被調(diào)用的模塊未發(fā)生改變,那就直接跳過編譯這一步,直接去__pycache__文件夾中去運行相關(guān)的 *.pyc 文件,大大縮短了項目運行前的準備時間。

2. 包

在早一點的 Python 版本(Python 3.3 之前)中,如果一個文件夾下有一個 __init__.py 文件,那我們就稱之為包,英文名 Package。

在后來的 Python 版本(Python 3.3 開始)中,就沒有這個要求了,只要是文件夾就可以當做包,我們稱之為空間命名包,為做區(qū)分,我把上面那種包稱之為 傳統(tǒng)包。

考慮到很多人其實并不需要接觸到空間命名包,所以我將空間命名包的內(nèi)容單獨放在一節(jié)里,為選讀章節(jié)。

今天這節(jié)里主要講講傳統(tǒng)包的內(nèi)容。

傳統(tǒng)包里的 __init__.py 可以為空文件,但一定要有該文件,它是包的標志性文件,在需要情況下可以在里面進行一些包的初始化工作。

$ tree
.
└── demo
    ├── __init__.py
    ├── bar.py
    └── foo.py

一個包里可以有多個模塊,比如上面的 foo.pybar.py 都屬于 demo 模塊。

如果要使用這些模塊,就需要這樣導(dǎo)入

>>> import demo.foo
成功導(dǎo)入 foo.py
>>> import demo.bar
成功導(dǎo)入 bar.py

或者這樣

>>> from demo import foo
成功導(dǎo)入 foo.py
>>> from demo import bar
成功導(dǎo)入 bar.py

3. 庫

Python 庫是指一定功能的代碼集合,通常認為他是一個完整的項目打包。

庫->包->模塊,是從大到小的層級關(guān)系!

庫:一個庫可能由多個包和模塊組成

包:一個包可能由多個模塊組成

模塊:一堆函數(shù)、類、變量的集合

審核編輯:符乾江

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 模塊
    +關(guān)注

    關(guān)注

    7

    文章

    2713

    瀏覽量

    47485
  • python
    +關(guān)注

    關(guān)注

    56

    文章

    4797

    瀏覽量

    84694
收藏 人收藏

    評論

    相關(guān)推薦

    使用Python進行串口通信的案例

    當然!以下是一個使用Python進行串口通信的簡單示例。這個示例展示了如何配置串口、發(fā)送數(shù)據(jù)以及接收數(shù)據(jù)。我們將使用 pyserial ,這是一個非常流行的用于串口通信的Python
    的頭像 發(fā)表于 11-22 09:11 ?202次閱讀

    如何使用Python構(gòu)建LSTM神經(jīng)網(wǎng)絡(luò)模型

    構(gòu)建一個LSTM(長短期記憶)神經(jīng)網(wǎng)絡(luò)模型是一個涉及多個步驟的過程。以下是使用Python和Keras構(gòu)建LSTM模型的指南。 1. 安裝必要的 首先,確保你已經(jīng)安裝了Python
    的頭像 發(fā)表于 11-13 10:10 ?364次閱讀

    Python解析:通過實現(xiàn)代理請求與數(shù)據(jù)抓取

    Python中,有多個可以幫助你實現(xiàn)代理請求和數(shù)據(jù)抓取。這些提供了豐富的功能和靈活的API,使得你可以輕松地發(fā)送HTTP請求、處理響應(yīng)、解析HTML/XML/JSON數(shù)據(jù),以及進行復(fù)雜的網(wǎng)絡(luò)操作。
    的頭像 發(fā)表于 10-24 07:54 ?174次閱讀

    使用Python進行Ping測試

    )請求,然后等待目標主機返回響應(yīng),從而測量網(wǎng)絡(luò)的延遲和丟情況。隨著Python編程語言的廣泛應(yīng)用,越來越多的網(wǎng)絡(luò)工程師開始使用Python
    的頭像 發(fā)表于 08-12 17:56 ?509次閱讀
    使用<b class='flag-5'>Python</b>進行Ping測試

    pytorch和python的關(guān)系是什么

    在當今的人工智能領(lǐng)域,Python已經(jīng)成為了最受歡迎的編程語言之一。Python的易學(xué)易用、豐富的和框架以及強大的社區(qū)支持,使其成為了數(shù)據(jù)科學(xué)、機器學(xué)習(xí)和深度學(xué)習(xí)等領(lǐng)域的首選語言。而在深度學(xué)習(xí)領(lǐng)域
    的頭像 發(fā)表于 08-01 15:27 ?1972次閱讀

    opencv-python和opencv一樣嗎

    不一樣。OpenCV(Open Source Computer Vision Library)是一個開源的計算機視覺和機器學(xué)習(xí)軟件,它提供了大量的圖像和視頻處理功能。OpenCV-Python
    的頭像 發(fā)表于 07-16 10:38 ?1195次閱讀

    深度學(xué)習(xí)常用的Python

    深度學(xué)習(xí)作為人工智能的一個重要分支,通過模擬人類大腦中的神經(jīng)網(wǎng)絡(luò)來解決復(fù)雜問題。Python作為一種流行的編程語言,憑借其簡潔的語法和豐富的支持,成為了深度學(xué)習(xí)研究和應(yīng)用的首選工具。本文將深入探討
    的頭像 發(fā)表于 07-03 16:04 ?653次閱讀

    安裝依賴的Python軟件時報錯如何解決?

    安裝依賴的 Python 軟件,出現(xiàn)了如下錯誤,請問如何解決,謝謝! Command \"E:/msys32/mingw32/bin/python2.7.exe E:/msys32
    發(fā)表于 06-26 07:32

    ESP32下如何加自定義Python

    我看官方有提供Micropython的bin文件,但我想根據(jù)自己外設(shè)擴充一下Python,這個應(yīng)該從哪里入手? 之前做過RTT系統(tǒng)的python擴充,RTT有提供Micropyth
    發(fā)表于 06-18 06:27

    Spectrum儀器為旗下200余款產(chǎn)品提供了靈活的Python編程功能

    Spectrum儀器旗下全部的測試測量產(chǎn)品。新的軟件使采樣率在5MS/s到10GS/s區(qū)間的200余款儀器的編程更加快速和輕松。Python因其簡單、功能多樣且靈活的特性深受業(yè)內(nèi)歡迎,它擁有豐富的資源和框架
    的頭像 發(fā)表于 05-15 16:51 ?327次閱讀

    python 學(xué)習(xí):在內(nèi)網(wǎng)中 python-numpy 安裝方法,升級pip3版本的指令

    指令格式如下:先下載numpy到C盤具體位置 手動安裝指令如下: pip install c:\\\\users\\\\sesa738142
    發(fā)表于 04-22 17:18

    如何使用Python生成四位隨機數(shù)字

    為了實現(xiàn)這些目標,Python 為我們提供了random() 模塊。random() 是一個內(nèi)置的 Python 模塊,用于生成隨機數(shù)。
    的頭像 發(fā)表于 04-15 12:47 ?673次閱讀

    基于Python的地圖繪制教程

    本文將介紹通過Python繪制地形圖的方法,所需第三方Python相關(guān)模塊包括 rasterio、geopandas、cartopy 等,可通過 pip 等方式安裝。
    的頭像 發(fā)表于 02-26 09:53 ?1219次閱讀
    基于<b class='flag-5'>Python</b>的地圖繪制教程

    Python智能家居系統(tǒng)代碼介紹

    Python智能家居系統(tǒng)是一種基于Python編程語言開發(fā)的智能家居控制系統(tǒng),在現(xiàn)代家庭中得到了越來越廣泛的應(yīng)用。本文將詳細介紹Python智能家居系統(tǒng)的代碼實現(xiàn),包括系統(tǒng)的結(jié)構(gòu)與功能模塊
    的頭像 發(fā)表于 01-25 09:46 ?1368次閱讀

    如何使用Python PySNMP模塊獲取設(shè)備指標呢?

    PySNMP 是一個跨平臺的純Python SNMP 引擎實現(xiàn)。
    的頭像 發(fā)表于 01-12 13:59 ?3163次閱讀