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

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                # 5.2.?使用 `from _module_ import` 導入模塊 Python 有兩種導入模塊的方法。兩種都有用,你應該知道什么時候使用哪一種方法。一種方法,`import _module_`,你已經在[第?2.4?節 “萬物皆對象”](../getting_to_know_python/everything_is_an_object.html "2.4.?萬物皆對象")看過了。另一種方法完成同樣的事情,但是它與第一種有著細微但重要的區別。 下面是 `from _module_ import` 的基本語法: ``` from UserDict import UserDict ``` 它與你所熟知的 [`import _module_`](../getting_to_know_python/everything_is_an_object.html#odbchelper.import "例?2.3.?訪問 buildConnectionString 函數的 doc string") 語法很相似,但是有一個重要的區別:`UserDict` 被直接導入到局部名字空間去了,所以它可以直接使用,而不需要加上模塊名的限定。你可以導入獨立的項或使用 `from _module_ import *` 來導入所有東西。 > 注意 > Python 中的 `from _module_ import *` 像 Perl 中的 `use _module_` ;Python 中的 `import _module_` 像 Perl 中的 `require _module_` 。 > 注意 > Python 中的 `from _module_ import *` 像 Java 中的 `import _module_.*` ;Python 中的 `import _module_` 像 Java 中的 `import _module_` 。 ## 例?5.2.?`import _module_` _vs._ `from _module_ import` ``` >>> import types >>> types.FunctionType <type 'function'> >>> FunctionType Traceback (innermost last): File "<interactive input>", line 1, in ? NameError: There is no variable named 'FunctionType' >>> from types import FunctionType >>> FunctionType <type 'function'> ``` | | | | --- | --- | | \[1\] | `types` 模塊不包含方法,只是表示每種 Python 對象類型的屬性。注意這個屬性必需用模塊名 `types` 進行限定。 | | \[2\] | `FunctionType` 本身沒有被定義在當前名字空間中;它只存在于 `types` 的上下文環境中。 | | \[3\] | 這個語法從 `types` 模塊中直接將 `FunctionType` 屬性導入到局部名字空間中。 | | \[4\] | 現在 `FunctionType` 可以直接使用,與 `types` 無關了。 | 什么時候你應該使用 `from _module_ import`? * 如果你要經常訪問模塊的屬性和方法,且不想一遍又一遍地敲入模塊名,使用 `from _module_ import`。 * 如果你想要有選擇地導入某些屬性和方法,而不想要其它的,使用 `from _module_ import`。 * 如果模塊包含的屬性和方法與你的某個模塊同名,你必須使用 `import _module_` 來避免名字沖突。 除了這些情況,剩下的只是風格問題了,你會看到用兩種方式編寫的 Python 代碼。 > 小心 > 盡量少用 `from module import *` ,因為判定一個特殊的函數或屬性是從哪來的有些困難,并且會造成調試和重構都更困難。 ## 進一步閱讀關于模塊導入技術 * eff-bot 有更多關于 [`import _module_` _vs._ `from _module_ import`](http://www.effbot.org/guides/import-confusion.htm) 的論述。 * _Python Tutorial_ 討論了高級的導入技術,包括 [`from _module_ import *`](http://www.python.org/doc/current/tut/node8.html#SECTION008410000000000000000)。
                  <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>

                              哎呀哎呀视频在线观看