<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>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                # Python 模塊 > 原文: [https://www.programiz.com/python-programming/modules](https://www.programiz.com/python-programming/modules) #### 在本文中,您將學習在 Python 中創建和導入自定義模塊。 此外,您會發現在 Python 中導入和使用自定義模塊和內置模塊的不同技術。 ## Python 中的模塊是什么? 模塊是指包含 Python 語句和定義的文件。 包含 Python 代碼的文件,例如:`example.py`,稱為模塊,其模塊名稱為`example`。 我們使用模塊將大型程序分解為可管理的小型文件。 此外,模塊提供了代碼的可重用性。 我們可以在模塊中定義最常用的函數并將其導入,而不是將其定義復制到其他程序中。 讓我們創建一個模塊。 輸入以下內容并將其另存為`example.py`。 ```py # Python Module example def add(a, b): """This program adds two numbers and return the result""" result = a + b return result ``` 在這里,我們在名為`example`的模塊內定義了[函數](/python-programming/function) `add()`。 該函數接受兩個數字并返回它們的和。 * * * ## 如何在 Python 中導入模塊? 我們可以將模塊內部的定義導入另一個模塊或 Python 中的交互式解釋器。 我們使用`import`關鍵字執行此操作。 要導入我們先前定義的模塊`example`,我們在 Python 提示符下鍵入以下內容。 ```py >>> import example ``` 這不會直接在當前符號表中導入在`example`中定義的函數的名稱。 它僅在此處導入模塊名稱`example`。 使用模塊名稱,我們可以使用點`.`運算符訪問該函數。 例如: ```py >>> example.add(4,5.5) 9.5 ``` Python 有大量的標準模塊。 您可以查看 [Python 標準模塊](http://docs.python.org/3/py-modindex.html)的完整列表及其用例。 這些文件位于 Python 安裝位置內的`Lib`目錄中。 可以像導入用戶定義的模塊一樣導入標準模塊。 有多種導入模塊的方法。 它們在下面列出。 * * * ### Python `import`語句 我們可以使用`import`語句導入模塊,并如上所述使用點運算符訪問其中的定義。 這是一個例子。 ```py # import statement example # to import standard module math import math print("The value of pi is", math.pi) ``` 運行該程序時,輸出為: ```py The value of pi is 3.141592653589793 ``` * * * ### 重命名導入 我們可以通過重命名模塊來導入模塊,如下所示: ```py # import module by renaming it import math as m print("The value of pi is", m.pi) ``` 我們已將`math`模塊重命名為`m`。 在某些情況下,這可以節省我們的鍵入時間。 請注意,名稱`math`在我們的范圍內未被識別。 因此,`math.pi`無效,并且`m.pi`是正確的實現。 * * * ### Python `from...import`語句 我們可以從模塊導入特定名稱,而無需整體導入模塊。 這是一個例子。 ```py # import only pi from math module from math import pi print("The value of pi is", pi) ``` 在這里,我們僅從`math`模塊中導入了`pi`屬性。 在這種情況下,我們不使用點運算符。 我們還可以如下導入多個屬性: ```py >>> from math import pi, e >>> pi 3.141592653589793 >>> e 2.718281828459045 ``` * * * ### 導入所有名稱 我們可以使用以下結構從模塊導入所有名稱(定義): ```py # import all names from the standard module math from math import * print("The value of pi is", pi) ``` 在這里,我們從`math`模塊中導入了所有定義。 這包括在我們的范圍內可見的所有名稱,但以下劃線(私有定義)開頭的名稱除外。 導入帶有星號(`*`)符號的所有內容都不是一種好的編程習慣。 這可能導致標識符重復定義。 這也會影響我們代碼的可讀性。 * * * ## Python 模塊搜索路徑 導入模塊時,Python 會在多個位置進行檢查。 口譯員首先尋找一個內置模塊。 然后(如果未找到內置模塊),Python 查找`sys.path`中定義的目錄列表。 搜索按此順序進行。 * 當前目錄。 * `PYTHONPATH`(具有目錄列表的環境變量)。 * 與安裝有關的默認目錄。 ```py >>> import sys >>> sys.path ['', 'C:\\Python33\\Lib\\idlelib', 'C:\\Windows\\system32\\python33.zip', 'C:\\Python33\\DLLs', 'C:\\Python33\\lib', 'C:\\Python33', 'C:\\Python33\\lib\\site-packages'] ``` 我們可以添加和修改此列表以添加我們自己的路徑。 * * * ## 重新加載模塊 Python 解釋器在會話期間僅導入一次模塊。 這使事情更有效率。 這是一個示例,說明其工作原理。 假設我們在名為`my_module`的模塊中具有以下代碼。 ```py # This module shows the effect of # multiple imports and reload print("This code got executed") ``` 現在我們看到了多次導入的效果。 ```py >>> import my_module This code got executed >>> import my_module >>> import my_module ``` 我們可以看到我們的代碼只執行了一次。 這說明我們的模塊僅導入了一次。 現在,如果我們的模塊在程序執行過程中發生了變化,我們將不得不重新加載它。一種方法是重啟解釋器。 但這并沒有太大幫助。 Python 提供了一種更有效的方法。 我們可以使用`imp`模塊內部的`reload()`函數來重新加載模塊。 我們可以通過以下方式做到這一點: ```py >>> import imp >>> import my_module This code got executed >>> import my_module >>> imp.reload(my_module) This code got executed <module 'my_module' from '.\\my_module.py'> ``` * * * ## `dir()`內置函數 我們可以使用`dir()`函數找出在模塊內部定義的名稱。 例如,我們在開始的模塊`example`中定義了一個函數`add()`。 我們可以通過以下方式在`example`模塊中使用`dir`: ```py >>> dir(example) ['__builtins__', '__cached__', '__doc__', '__file__', '__initializing__', '__loader__', '__name__', '__package__', 'add'] ``` 在這里,我們可以看到名稱的排序列表(以及`add`)。 所有其他以下劃線開頭的名稱是與模塊關聯的默認 Python 屬性(不是用戶定義的)。 例如,`__name__`屬性包含模塊的名稱。 ```py >>> import example >>> example.__name__ 'example' ``` 可以使用`dir()`函數(不帶任何參數)找到當前名稱空間中定義的所有名稱。 ```py >>> a = 1 >>> b = "hello" >>> import math >>> dir() ['__builtins__', '__doc__', '__name__', 'a', 'b', 'math', 'pyscripter'] ```
                  <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>

                              哎呀哎呀视频在线观看