<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                [TOC] ## 模塊概念 ### 什么是模塊 為了編寫可維護的代碼,我們把很多函數分組,分別放到不同的文件里,這樣,每個文件包含的代碼就相對較少,在Python中,一個.py文件就稱之為一個模塊(Module)。 ### 使用模塊有什么好處? 最大的好處是大大提高了代碼的可維護性。其次,編寫代碼不必從零開始。當一個模塊編寫完畢,就可以被其他地方引用。我們在編寫程序的時候,也經常引用其他模塊,包括Python內置的模塊和來自第三方的模塊。 使用模塊還可以避免函數名和變量名沖突。每個模塊有獨立的命名空間,因此相同名字的函數和變量完全可以分別存在不同的模塊中,所以,我們自己在編寫模塊時,不必考慮名字會與其他模塊沖突 ### 模塊分類 模塊分為三種: * 內置標準模塊 又稱標準庫,執行help('modules')查看所有python自帶模塊列表 * 第三方開源模塊,可通過pip install 模塊名 聯網安裝 * 自定義模塊 ### 模塊調用 ```python import module from module import xx from module.xx.xx import xx as rename from module.xx.xx import * ``` > 注意:模塊一旦被調用,即相當于執行了另外一個py文件里的代碼 ### 自定義模塊 創建一個.py文件,就可以稱之為模塊,就可以在另外一個程序里導入 ### 模塊查找路徑 ```python >>> import sys >>> print(sys.path) ['C:\\Program Files\\JetBrains\\PyCharm Community Edition 2018.2.1\\helpers\\pydev', 'C:\\Program Files\\JetBrains\\PyCharm Community Edition 2018.2.1\\helpers\\pydev', 'C:\\Program Files\\Python36\\python36.zip', 'C:\\Program Files\\Python36\\DLLs', 'C:\\Program Files\\Python36\\lib', 'C:\\Program Files\\Python36', 'C:\\Program Files\\Python36\\lib\\site-packages', 'D:\\data\\my_python', 'D:/data/my_python'] ``` python解釋器會按照上面列表順序去依次到每個目錄下去匹配你要導入的模塊名,只要在一個目錄下匹配到了該模塊名,就立刻導入,不再繼續往后找, 當前目錄最優先,所以自己定義的模塊在當前目錄會被優先導入。 ### 開源模塊安裝 python的開源模塊庫:(https://pypi.python.org/pypi),如何從這個平臺上下載代碼呢? 1. 在線安裝 * 通過pip用官方源在線安裝 `pip3 install paramiko #paramiko 是模塊名` pip命令會自動下載模塊包并完成安裝。 * 通過pip用國內源在線安裝 `pip install -i http://pypi.douban.com/simple/ paramiko --trusted-host pypi.douban.com` 2. 離線安裝 * 下載源碼安裝 直接在上面這個頁面搜索需要的模塊,找到后上點download,下載后,解壓并進入目錄,執行以下命令完成安裝 `python setup.py build #先編譯源碼` `python setup.py install #再安裝源碼` * 通過pip命令離線安裝 國內網絡不好或者環境不能上網的情況下,可以下載好對應的壓縮包,然后通過pip3離線安裝 `pip3 install paramiko-2.4.2.tar.gz` 3. 安裝的位置 軟件一般會被自動安裝你python安裝目錄的`site-packages`子目錄里,如windows中的安裝位置是`C:\Program Files\Python36\Lib\site-packages` ## 包(Package)的概念 ### 單級包 當模塊文件越來越多,就需要對模塊文件進行劃分,比如把負責跟數據庫交互的都放一個文件夾,把與頁面交互相關的放一個文件夾,Python引入了按目錄來組織模塊的方法,稱為包(Package)。 比如mycompany,按照如下目錄存放: ``` mycompany ├─ __init__.py ├─ abc.py └─ xyz.py ``` abc.py模塊的名字就變成了mycompany.abc,xyz.py的模塊名變成了mycompany.xyz。 ### 注意事項: 請注意,每一個包目錄下面都會有一個__init__.py的文件,這個文件是必須存在的,否則,Python就把這個目錄當成普通目錄,而不是一個包。__init__.py可以是空文件,也可以有Python代碼,因為__init__.py本身就是一個模塊,而它的模塊名就是mycompany。 文件夾被python解釋器視作package需要滿足兩個條件: * 文件夾中必須有__init__.py文件,該文件可以為空,但必須存在該文件。 * 不能作為頂層模塊來執行該文件夾中的py文件(即不能作為主函數的入口)。 ### 多級包 類似的,可以有多級目錄,組成多級層次的包結構。比如如下的目錄結構: ``` mycompany ├─ __init__.py ├─ web │ ├─ __init__.py │ ├─ utils.py │ └─ www.py ├─ abc.py └─ xyz.py ``` 文件www.py的模塊名就是mycompany.web.www >自建模塊時要注意命名,不能和Python自帶的模塊名稱沖突。例如,系統自帶了sys模塊,自己的模塊就不可命名為sys.py,否則將無法導入系統自帶的sys模塊。 ## 總結 模塊是一組Python代碼的集合,可以使用其他模塊,也可以被其他模塊使用。 模塊名要遵循Python變量命名規范,不要使用中文、特殊字符; 模塊名不要和系統模塊名沖突,最好先查看系統是否已存在該模塊,檢查方法是在Python交互環境執行import abc,若成功則說明系統存在此模塊。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看