吴忠躺衫网络科技有限公司

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

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

3天內不再提示

Python-模塊與包

汽車電子技術 ? 來源:程序猿知秋 ? 作者:程序猿知秋 ? 2023-02-16 14:55 ? 次閱讀

模塊

模塊是Python 程序架構的一個核心概念

  • 模塊好比是 ** 工具包** ,要想使用這個工具包中的工具,需要使用 **import **這個關鍵字進行導入這個工具包
  • 每一個以擴展名 **py **結尾的 Python 源代碼文件都是一個 模塊
  • 在模塊中定義的 全局變量函數 都是模塊能夠提供給外界直接使用的工具

模塊示例

先定義一個模塊 cal.py ,里面一個add 方法和 reduce 方法,以及一個變量name

圖片

在hello3.py 文件中調用剛創建的模塊

圖片

打印結果如下:

圖片

**小結

**

  • 可以在一個 Python 文件中定義變量 或者函數,然后在 另外一個文件中使用 import 導入這個模塊
  • 導入之后,使用 模塊名.變量 / 模塊名.函數 的方式,進行調用
  • **模塊可以讓代碼方便的被 **復用

**模塊名也是一個標識符

**

  • 標示符可以由 字母、下劃線 和數字組成
  • 不能以數字開頭
  • 不能與關鍵字重名

注意:如果在給 Python 文件起名時,以數字開頭 是無法在 Pycharm 中導入這個模塊的

**Pyc文件( c 指 compiled 編譯過 的意思

**

  • 瀏覽程序目錄會發現一個 pycache 的目錄,目錄下有一個** cal.cpython-38.pyc 文件, cpython-38** 表示Python解釋器的版本
  • 這個** pyc 文件是由 Python 解釋器將 模塊的源碼** 轉換為** 字節碼**
    • Python 這樣保存 字節碼 是作為一種啟動 速度的優化

圖片

圖片

字節碼

  • Python 在解釋源程序時是分成兩人步驟的
    • 首先處理源代碼,編譯生成一個二進制 字節碼
    • 再對** 字節碼 進行處理,才會生成 CPU **能夠識別的 機器碼
  • 有了模塊的字節碼文件之后,下一次運行程序時,如果在上次保存字節碼之后 沒有修改過源代碼 Python 將會加載** .pyc**文件并跳過編譯這個步驟
  • 如果又修改了源代碼,下次程序運行時,字節碼將自動重新創建

from ... import ...

模塊提供了類似名字空間的限制,允許 Python 從模塊中導入指定的符號(變量、函數、類等)到當前模塊。導入后,這些符號就可以直接使用,而不需要前綴模塊名。

示例: 還是在 hello3.py 文件中導入剛剛的cal 模塊

圖片

圖片

  • 是一個 包含多個模塊的 **特殊目錄 **
  • 目錄下有一個 特殊的文件** init .py**
  • 包名的 命名方式 和變量名一致,小寫字母+ _

好處 :使用 import 包名,可以一次性導入包 中所有的模塊

**常見的包結構

**

pakageName
-------__init__.py
-------moduleName1.py
-------moduleName2.py
------- ...

注:包路徑下必須存在 init .py 文件

**示例: 建立一個名為 ani 包,手動創建一個名為 init .py 的空文件, 創建cat 模塊和 dog 模塊,并分別寫一個 eat 函數

**

圖片

圖片

圖片

圖片

然后在 hello3.py 文件中調用 ** (方式一)**

圖片

圖片

然后在 hello3.py 文件中調用 (方式二)****

圖片

圖片

****注:導包建議采用此種方式,代碼簡潔,明了。****包中需要導入的模塊越多 或者 名稱越長,此種方法效果越好

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

    關注

    7

    文章

    2733

    瀏覽量

    47747
  • python
    +關注

    關注

    56

    文章

    4807

    瀏覽量

    85037
  • 程序架構
    +關注

    關注

    0

    文章

    4

    瀏覽量

    1429
收藏 人收藏

    評論

    相關推薦

    請問python-樹莓派如何通過按鍵控制步進電機正反轉?

    步進電機驅動原理是什么?python-樹莓派如何通過按鍵控制步進電機正反轉?
    發表于 10-09 08:45

    什么是python模塊和庫?

    1. 模塊以 .py 為后綴的文件,我們稱之為 模塊,英文名 Module。模塊讓你能夠有邏輯地組織你的 Python 代碼段,把相關的代碼分配到一個
    發表于 03-09 16:48

    python常規與命名空間

    python常規與命名空間1. 常規包在 Python 3.3 之前或者說 Python 2 中,一個
    發表于 03-11 15:46

    python-控制khr3hv-master機器人

    python-控制khr3hv機器人,感興趣的小伙伴們可以瞧一瞧。
    發表于 11-22 15:40 ?2次下載

    python-速成指南

    python 提供好用的兩個容器:list 和 dict。插句題外話,其實最好用的容器還是 PHP 提供的關聯數組,一個數組就包括了 python 中 list 和 dict 的全部功能,實在是很贊。
    發表于 03-28 16:32 ?9次下載

    在Anaconda中安裝pythonseaborn

    在Anaconda中安裝pythonseaborn(現代電源技術題庫)-在Anaconda中安裝pythonseaborn? ? ? ? ? ? ?
    發表于 09-18 15:01 ?5次下載
    在Anaconda中安裝<b class='flag-5'>python</b><b class='flag-5'>包</b>seaborn

    python模塊和庫是什么

    1. 模塊 以 .py 為后綴的文件,我們稱之為 模塊,英文名 Module。 模塊讓你能夠有邏輯地組織你的 Python 代碼段,把相關的代碼分配到一個
    的頭像 發表于 03-09 16:47 ?2360次閱讀

    詳解python常規與命名空間

    python常規與命名空間 1. 常規Python 3.3 之前或者說 Python
    的頭像 發表于 03-11 15:46 ?3466次閱讀

    Python-字典

    dictionary (字典) **是除列表外** Python **中,最靈活的數據類型
    的頭像 發表于 02-16 15:02 ?670次閱讀
    <b class='flag-5'>Python-</b>字典

    Python-模塊、異常

    * 程序運行時,如果Python 解釋器遇到了錯誤,會停止程序運行,并且提示錯誤信息,**這就是異常**,* 程序停止執行并提示錯誤信息的動作,稱為 **拋出異常**
    的頭像 發表于 02-16 15:40 ?752次閱讀
    <b class='flag-5'>Python-</b><b class='flag-5'>模塊</b>、<b class='flag-5'>包</b>、異常

    python模塊相對導入from和import介紹1

    文件**init**.py下,python通過import module導入模塊時,先搜索程序運行主目錄。 程序運行主目錄為運行的py文件所在目錄,而不是執行python.e
    的頭像 發表于 02-21 14:15 ?1067次閱讀

    python模塊相對導入from和import介紹2

    python2.7先搜索當前目錄,再搜索sys.path模塊搜索路徑。即先相對再絕對。 本示例在交互模式執行,非文件模式執行。
    的頭像 發表于 02-21 14:17 ?740次閱讀

    簡述python模塊import和from及all

    python指定導入目錄路徑,稱為導入。 通過import和from導入模塊。 通過**all**指定導入的模塊和導入的
    的頭像 發表于 02-21 14:20 ?1284次閱讀

    Python關于的概念和結構

    概念和結構 pycharm中創建 概念和結構 當一個項目中有很多個模塊時,需要再進行組織. 我們將功能類似的模塊放到一起,形成了“”. 本質上,“
    的頭像 發表于 09-12 17:40 ?1034次閱讀
    <b class='flag-5'>Python</b>關于<b class='flag-5'>包</b>的概念和結構

    Python SDK的使用

    Shodan Web端非常好用,但如果我們有從 Python 搜索的需求怎么辦? 沒關系,Shodan 官方也提供了 Python SDK ,下面就來講講這個 SDK 的使用。 1
    的頭像 發表于 10-30 15:51 ?793次閱讀
    <b class='flag-5'>Python</b> SDK<b class='flag-5'>包</b>的使用
    大发888娱乐场下载iypu| 百家乐官网中P代表| 御匾会百家乐的玩法技巧和规则| 大赢家百家乐官网娱乐| 视频百家乐官网攻略| 百家乐官网视频官方下载| 台前县| 奇迹百家乐官网的玩法技巧和规则| 百家乐官网三路秘诀| 利高百家乐官网娱乐城| 易发国际娱乐城| 皇家赌场下载| 足球即时比分网| 皇冠博彩| 明升信誉| 新平| 百博亚洲| 太阳城百家乐官网币| 免费百家乐官网规则| E乐博网址| 真钱斗地主| 阳春市| 新葡京百家乐官网现金网| 百家乐官网信用哪个好| 龙虎斗 | 百家乐官网算号软件| 网上百家乐官网赌钱| 百家乐官网输一压二| 百家乐官网博彩安全吗| 平武县| 百家乐官网群柏拉图软件| 至尊百家乐官网网| 利都百家乐官网国际赌场娱乐网规则| 足球百家乐官网投注网出租| CEO百家乐官网的玩法技巧和规则| 同花顺百家乐官网的玩法技巧和规则| 澳门百家乐官网官网网站| 网上百家乐官网公| 百家乐投注秘笈| 威尼斯人娱乐城送彩金| bet365地址|