衡阳派盒市场营销有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

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

3天內不再提示

python包、模塊和庫是什么

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

1. 模塊

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

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

假設現在有一個名為 demo.py 的文件,文件內容如下

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

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

>>> import demo
導入成功
>>> demo.name
'Python編程時光'

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

現在把 demo.py 的內容改成

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

當模塊被直接執行時, __name__ 的值為 __main__

$ python demo.py
__name__ 的值為: __main__

當模塊被導入時, __name__ 的值為 模塊名

>>> import demo
__name__ 的值為: demo

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

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

這個文件夾有什么用呢?

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

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

2. 包

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

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

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

今天這節里主要講講傳統包的內容。

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

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

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

如果要使用這些模塊,就需要這樣導入

>>> import demo.foo
成功導入 foo.py
>>> import demo.bar
成功導入 bar.py

或者這樣

>>> from demo import foo
成功導入 foo.py
>>> from demo import bar
成功導入 bar.py

3. 庫

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

庫->包->模塊,是從大到小的層級關系!

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

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

模塊:一堆函數、類、變量的集合

審核編輯:符乾江

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 模塊
    +關注

    關注

    7

    文章

    2733

    瀏覽量

    47747
  • python
    +關注

    關注

    56

    文章

    4807

    瀏覽量

    85037
收藏 人收藏

    評論

    相關推薦

    Python Connector for InterBase連接解決方案

    ,以對存儲的數據執行創建、讀取、更新和刪除操作。該解決方案完全符合 Python DB API 2.0 規范,并作為 Windows、macOS 和 Linux 的 wheel 分發。 特征 高性能
    的頭像 發表于 01-22 14:34 ?104次閱讀

    使用Python實現xgboost教程

    裝: bash復制代碼conda install -c conda-forge xgboost 2. 導入必要的 在你的Python腳本或Jupyter Notebook中,導入必要的
    的頭像 發表于 01-19 11:21 ?399次閱讀

    適用于MySQL和MariaDB的Python連接器:可靠的MySQL數據連接器和數據

    和 Linux 的 wheel 分發。 直接連接 該解決方案使您能夠通過 TCP/IP 建立與 MySQL 或者 MariaDB 數據服務器的直接連接,而無需數據客戶端。另外
    的頭像 發表于 01-17 12:18 ?122次閱讀
    適用于MySQL和MariaDB的<b class='flag-5'>Python</b>連接器:可靠的MySQL數據連接器和數據<b class='flag-5'>庫</b>

    適用于Oracle的Python連接器:可訪問托管以及非托管的數據

    適用于 Oracle 的 Python 連接器 適用于 Oracle 的 Python 連接器是一種可靠的連接解決方案,用于從 Python 應用程序訪問 Oracle 數據服務器和
    的頭像 發表于 01-14 10:30 ?108次閱讀

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

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

    Python解析:通過實現代理請求與數據抓取

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

    使用Python進行Ping測試

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

    pytorch和python的關系是什么

    在當今的人工智能領域,Python已經成為了最受歡迎的編程語言之一。Python的易學易用、豐富的和框架以及強大的社區支持,使其成為了數據科學、機器學習和深度學習等領域的首選語言。而在深度學習領域
    的頭像 發表于 08-01 15:27 ?2341次閱讀

    opencv-python和opencv一樣嗎

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

    深度學習常用的Python

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

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

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

    ESP32下如何加自定義Python

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

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

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

    如何使用Python生成四位隨機數字

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

    基于Python的地圖繪制教程

    本文將介紹通過Python繪制地形圖的方法,所需第三方Python相關模塊包括 rasterio、geopandas、cartopy 等,可通過 pip 等方式安裝。
    的頭像 發表于 02-26 09:53 ?1310次閱讀
    基于<b class='flag-5'>Python</b>的地圖繪制教程
    玩百家乐官网游戏的最高技巧| 百家乐官网庄闲和各| 圆梦城百家乐官网娱乐城| 金杯百家乐的玩法技巧和规则| 百家乐官网投注方法多不多 | 诸子百家乐官网的玩法技巧和规则| 娱网棋牌官网| 百家乐永利娱乐平台| 菲律宾百家乐官网娱乐场| 真人棋牌游戏| 大发888下载安装| 杨氏百家乐必胜公式| 大发8880634| 百家乐赌场破解方法| 做生意发财招财图像| 百家乐官网评测| 嘉鱼县| 德州扑克 梭哈| 威尼斯人娱乐城网上百家乐| 娱百家乐下载| 博彩百家乐规则| 百家乐官网封号| 代理百家乐官网最多占成| 横峰县| 利好国际| 大发888官网e世博官方网站| 凯斯百家乐的玩法技巧和规则| 老k百家乐游戏| 百家乐楼梯缆 | 百家乐官网的规则博彩正网| 百家乐游戏机| 澳博国际| 伟博| 任你博娱乐城| 二八杠 | 钻石国际娱乐| 泷泽罗拉种子| 博亿国际| 申扎县| 新葡京百家乐官网现金网| 百家乐官网开户代理|