1. 程式人生 > >Day-23 基礎模組4 模組匯入_包

Day-23 基礎模組4 模組匯入_包

一、認識模組

  模組可以認為是一個py檔案,模組實際上是我們的py檔案執行後的名稱空間

  匯入模組:

    1.判斷sys.modules中是否已經匯入過該模組

    2.開闢一個記憶體

    3.在這個記憶體中執行該py檔案

    4.給這個記憶體起個名字,一般用的是py檔案的名字。返回給匯入方

      如果你的py檔案是啟動檔案,“__name__”的結果是__main__,否則結果則是檔名

      程式的入口一般是:

        if __name__ == "__main__":

          pass

 

二、import 

    import 模組名

    模組名.屬性/方法/類

  每個模組都有自己的獨立的名稱空間,每個都有一個global,互相併不影響

  模組.屬性 = 值    #不要這麼幹

  

三、from xxx import xxx

  from 模組 import 函式/變數

  當作自己的變數或者函式來使用

  

  from xxx import * 匯入所有

  匯入的內容可以起別名  as

 

四、包

  包就是一個資料夾,py2中包內必須有一個__init__.py檔案,在python3中可以省略,但是最好都保留。

  __init__.py當我們匯入一個包的時候,預設執行這個包內的__init__.py

  一條語句 > 語句塊 > 程式碼塊(函式、類) > py檔案(模組) > 包

 

五、相對匯入和絕對匯入

  相對匯入:相對於當前模組所在的包,使用的時候必須在包外面啟動

  絕對匯入:根據包的根目錄去匯入內容

  總得來說就是全都依賴於 sys.path

  注意:儘量在包的外面啟動程式。