<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之旅 廣告
                # Python 中的包 > 原文: [http://zetcode.com/lang/python/packages/](http://zetcode.com/lang/python/packages/) 在 Python 編程教程的這一部分中,我們介紹了包。 Python 包是具有通用目的的模塊的集合。 包目錄必須有一個名為`__init__.py`的特殊文件。 (從 Python 3.3 開始,不再需要`__init__.py`來定義包目錄。)Python 模塊是單個 Python 文件。 當我們處理包含成百上千個模塊的大型項目時,使用包至關重要。 例如,我們可以將所有與數據庫相關的模塊放在一個數據庫包中,并將用戶界面代碼放在`ui`包中。 內置包可在預定義目錄中使用; 例如 Debian Linux 上的`/usr/lib/python3.5`或`C:\Users\Jano\AppData\Local\Programs\Python\Python36-32\Lib\site-packages`。 第三方包已安裝到預定義目錄中,例如 Debian Linux 上的`/usr/local/lib/python3.5/dist-packages`或 Windows 上的`C:\Users\Jano\AppData\Local\Programs\Python\Python36-32\libs`。 ## Python 包管理 Python 包由 Python 包管理器`pip`進行管理。 ```py $ sudo pip3 install arrow ``` 例如,使用上述命令安裝了箭頭庫。 ```py $ sudo pip3 uninstall arrow ``` 要卸載箭頭,我們使用上面的命令。 ## 空`__init__.py`的 Python 包 在第一個示例中,我們使用 Python 創建一個簡單的包。 ```py $ tree . ├── mymath │ ├── __init__.py │ └── mfuns.py └── myprog.py ``` 在當前工作目錄中,我們有一個`mymath`目錄和一個`myprog.py`腳本。 `mymath`包含`__init__.py`文件,該文件將`mymath`目錄標記為包目錄。 `mymath`目錄有兩個文件:`__init__.py`文件使常量成為 Python 包目錄,而`mfuns.py`是 Python 模塊。 `__init__.py` `__init__.py`為空白。 它可以包含一些代碼,但也可以為空。 `mfuns.py` ```py def mycube(x): return x * x * x ``` 在`mfuns.py`模塊中,我們定義了`cube()`函數。 `myprog.py` ```py #!/usr/bin/env python # myprog.py from mymath.mfuns import mycube print(mycube(3)) ``` 在`myprog.py`程序中,我們從`mymath.mfuns`模塊導入`mycube`函數。 模塊名稱和包名稱用點字符分隔。 ## `__init__.py`中的 Python 導入功能 在下一個示例中,我們在`__init__.py`文件中有一些代碼。 ```py $ tree . ├── mymath │ ├── __init__.py │ └── mfuns.py └── myprog.py ``` 我們具有相同的目錄結構。 `__init__.py` ```py from .mfuns import mycube ``` 在`__init__.py`文件中,我們導入`mycube`函數。 結果,當我們從`mymath`包中引用`mycube`函數時,我們不必指定模塊名稱。 `mfuns.py` ```py def mycube(x): return x * x * x ``` 在`mfuns.py`模塊中,我們定義了`cube()`函數。 `myprog.py` ```py #!/usr/bin/env python # myprog.py from mymath import mycube print(mycube(3)) ``` 在`myprog.py`程序中,我們導入`mycube`函數。 這次我們省略了模塊名稱。 ## 沒有`__init__.py`的 Python 包 從 Python 3.3 開始,無需使用`__init__.py`文件就可以定義包目錄。 ```py read.py constants/ data.py ``` 在當前工作目錄中,我們有一個`constants`目錄和一個`read.py`腳本。 `data.py` ```py colours = ('yellow', 'blue', 'red', 'orange', 'brown') names = ('Jack', 'Jessica', 'Robert', 'Lucy', 'Tom') ``` `data.py`模塊有兩個元組。 `read.py` ```py #!/usr/bin/env python # read.py from constants.data import colours import constants.data as mydata print(colours) print(mydata.names) ``` 在`read.py`腳本中,我們導入元組并將其打印到終端。 ```py $ ./read.py ('yellow', 'blue', 'red', 'orange', 'brown') ('Jack', 'Jessica', 'Robert', 'Lucy', 'Tom') ``` ## Python `arrow`包 `arrow`是用于在 Python 中處理日期和時間的第三方庫。 ```py $ ls /usr/local/lib/python3.5/dist-packages/arrow api.py arrow.py factory.py formatter.py __init__.py locales.py parser.py __pycache__ util.py ``` 該庫安裝在 Debian Linux 中`dist-packages`下的`arrow`目錄中。 該庫隨`pip`包管理器一起安裝。 如我們所見,該庫是 Python 模塊的集合。 ## Python 子包 我們還可以創建子包。 要訪問子包,我們使用點運算符。 ```py $ tree . ├── constants │ ├── __init__.py │ ├── data.py │ └── numbers │ ├── __init__.py │ └── myintegers.py └── read.py ``` 這是新的層次結構。 我們有一個稱為數字的子包。 `constants/__init__.py` ```py from .data import names ``` 這是`constants`目錄中的`__init__.py`文件。 我們導入`names`元組。 `constants/data.py` ```py names = ('Jack', 'Jessica', 'Robert', 'Lucy', 'Tom') ``` 這是`constants`目錄中的`data.py`模塊。 它包含`names`元組。 `numbers/__init__.py` ```py from .myintegers import myintegers ``` 數字包中的`__init__.py`文件具有這一行。 `numbers/myintegers.py` ```py myintegers = (2, 3, 45, 6, 7, 8, 9) ``` 整數模塊定義了七個整數的元組。 該元組將通過`read.py`腳本進行訪問。 `read.py` ```py #!/usr/bin/env python # read.py from constants import names from constants.numbers import myintegers print(names) print(myintegers) ``` 這是`read.py`程序。 我們從`constants`包中導入`names`元組,并從`constants.numbers`子包中導入`myintegers`元組。 ```py $ ./read.py ('Jack', 'Jessica', 'Robert', 'Lucy', 'Tom') (2, 3, 45, 6, 7, 8, 9) ``` 這是輸出。 在本章中,我們介紹了 Python 包。
                  <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>

                              哎呀哎呀视频在线观看