<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] # `__init__.py` 如果創建一個包,要在這個包下面創建`__init__.py`文件 指定對外界提供的模塊列表 在`__init__.py`中寫入文件名 ~~~ __all__ = ["sendMsg", "recvMsg"] ~~~ 表示這個包下的這2個文件會被from 使用from 文件夾import 模塊的方式導入 ![](https://box.kancloud.cn/2a56d1b5275255c5c884114725472dd7_470x176.png) 包將有聯系的模塊組織在一起,即放到同一個文件夾下,并且在這個文件夾創建一個名字為__init__.py文件,那么這個文件夾就稱之為包 有效避免模塊名稱沖突問題,讓應用組織結構更加清晰 上面是影響的`form xx import xx` 如果在`__init__.py`中寫 ~~~ __all__ = ["sendMsg"] form . import sendMsg ~~~ 影響的是import 表示可以用文件夾名.文件名 `__init__.py`為空 僅僅是把這個包導入,不會導入包中的模塊 總結: * `__all__`只能是from-import * `form . import sendMsg`這種是import # 編寫內容 可以在這個文件中編寫語句,當導入時,這些語句就會被執行 `__init__.py`文件 ![](https://box.kancloud.cn/ca6bc7b42f4b7d981d75fcce9fa3caef_534x153.png) ![](https://box.kancloud.cn/989723c25c424d018028699ca6e4f92d_766x284.png) # 嵌套的包 假定我們的包的例子有如下的目錄結構: ~~~ Phone/ __init__.py common_util.py Voicedta/ __init__.py Pots.py Isdn.py Fax/ __init__.py G3.py Mobile/ __init__.py Analog.py igital.py Pager/ __init__.py Numeric.py ~~~ Phone 是最頂層的包,Voicedta 等是它的子包。我們可以這樣導入子包: ~~~ import Phone.Mobile.Analog Phone.Mobile.Analog.dial() ~~~ 你也可使用`from-import` 實現不同需求的導入 第一種方法是只導入頂層的子包,然后使用屬性/點操作符向下引用子包樹: ~~~ from Phone import Mobile Mobile.Analog.dial('555-1212') ~~~ 此外,我們可以還引用更多的子包: ~~~ from Phone.Mobile import Analog Analog.dial('555-1212') ~~~ 事實上,你可以一直沿子包的樹狀結構導入: ~~~ from Phone.Mobile.Analog import dial dial('555-1212') ~~~ 在我們上邊的目錄結構中,我們可以發現很多的__init__.py文件。這些是初始化模塊,from-import語句導入子包時需要用到它。如果沒有用到,他們可以是空文件。 包同樣支持from-import all 語句: ~~~ from package.module import * ~~~ 然而,這樣的語句會導入哪些文件取決于操作系統的文件系統。所以我們在__init__.py中加入__all__變量。該變量包含執行這樣的語句時應該導入的模塊的名字。它由一個模塊名字符串列表組成.。
                  <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>

                              哎呀哎呀视频在线观看