<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之旅 廣告
                # 16.6.?動態導入模塊 好了,大道理談夠了。讓我們談談動態導入模塊吧。 首先,讓我們看一看正常的模塊導入。`import _module_` 語法查看搜索路徑,根據給定的名字尋找模塊并導入它們。你甚至可以這樣做:以逗號分割同時導入多個模塊,本章代碼前幾行就是這樣做的。 ## 例?16.13.?同時導入多個模塊 ``` import sys, os, re, unittest ``` | | | | --- | --- | | \[1\] | 這里同時導入四個模塊:`sys` (為系統函數和得到命令行參數)、`os` (為目錄列表之類的操作系統函數)、`re` (為正則表達式),以及 `unittest` (為單元測試)。 | 現在讓我們用動態導入做同樣的事。 ## 例?16.14.?動態導入模塊 ``` >>> sys = __import__('sys') >>> os = __import__('os') >>> re = __import__('re') >>> unittest = __import__('unittest') >>> sys >>> <module 'sys' (built-in)> >>> os >>> <module 'os' from '/usr/local/lib/python2.2/os.pyc'> ``` | | | | --- | --- | | \[1\] | 內建 `__import__` 函數與 `import` 語句的既定目標相同,但它是一個真正的函數,并接受一個字符串參數。 | | \[2\] | 變量 `sys` 現在是 `sys` 模塊,和 `import sys` 的結果完全相同。變量 `os` 現在是一個 `os` 模塊,等等。 | 因此 `__import__` 導入一個模塊,但是是通過一個字符串參數來做到的。依此處講,你用以導入的僅僅是一個硬編碼性的字符串,但它可以是一個變量,或者一個函數調用的結果。并且你指向模塊的變量也不必與模塊名匹配。你可以導入一系列模塊并把它們指派給一個列表。 ## 例?16.15.?動態導入模塊列表 ``` >>> moduleNames = ['sys', 'os', 're', 'unittest'] >>> moduleNames ['sys', 'os', 're', 'unittest'] >>> modules = map(__import__, moduleNames) >>> modules [<module 'sys' (built-in)>, <module 'os' from 'c:\Python22\lib\os.pyc'>, <module 're' from 'c:\Python22\lib\re.pyc'>, <module 'unittest' from 'c:\Python22\lib\unittest.pyc'>] >>> modules[0].version '2.2.2 (#37, Nov 26 2002, 10:24:37) [MSC 32 bit (Intel)]' >>> import sys >>> sys.version '2.2.2 (#37, Nov 26 2002, 10:24:37) [MSC 32 bit (Intel)]' ``` | | | | --- | --- | | \[1\] | `moduleNames` 只是一個字符串列表。沒什么特別的,只是這些名字剛好是你可應需而用的可導入模塊名。 | | \[2\] | 簡單得令人驚奇,通過映射 `__import__` 就實現了導入。記住,列表 (`moduleNames`) 的每個元素將被用來一次次調用函數 (`__import__`) 并以一個返回值構成的列表作為返回結果。 | | \[3\] | 所以現在你已經由一個字符串列表構建起了一個實際模塊的列表。(你的路徑可能不同,這取決于你的操作系統、你安裝 Python 的位置、月亮殘缺的程度等等。) | | \[4\] | 從這些是真實模塊這一點出發,讓我們來看一些模塊屬性。記住,`modules[0]` _是_ `sys` 模塊,因此,`modules[0].version` _是_ `sys.version`。所有模塊的其他屬性和方法也都可用。`import` 語句沒什么神奇的,模塊也沒什么神奇的。模塊就是對象,一切都是對象。 | 現在,你應該能夠把這一切放在一起,并搞清楚本章大部分樣例代碼是做什么的。
                  <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>

                              哎呀哎呀视频在线观看