1. 程式人生 > >模塊及模塊的相關操作

模塊及模塊的相關操作

所有 循環引用問題 列表 強制 modules () 控制 我們 一段

一 .模塊

  1.語法: from 模塊名 import 變量(函數,類)名

     (1)函數()

  2.函數的重命名

     (1)from 模塊名 import 變量(函數,類)名 as 變量(函數,類)名

  3 from 模塊名 import *

    (1) 可以導入模塊中的所有內容

    (2) __all__["變量名(函數名, 類名)"], 可以控制*導入的內容

  4.多行導入和重命名

     (1)from 模塊名 import 變量名(函數名,類名) as 新的名,變量名(函數名,類名) as 新的名

二 模塊的相關操作

  1.把模塊當做腳本運行

    (1) py文件運行的兩種形式 1.以模塊的形式運行 2.以腳本的形式運行

    (2) 當我們希望一段代碼在被當做模塊導入後不執行,需要在這段代碼前加 if __name__ == "__main__"

    (3)sys.modules 一字典的形式存儲了所有被導入的文件的文件名和這個文件的內存地址

    (4)__name__和__main__ 的關系

    (5)自己模塊中的反射

  2.模塊搜索路徑

    (1)模塊的所有搜索路徑都在sys.path列表中

  3.pyc編譯文件

    (1)節省模塊導入時間

  4.模塊重新加載

    (1)在執行import後, 再去修改這個被導入模塊中的內容,程序感應不到.

    (2)reload這個方法可以強制程序重新導入模塊

  5.在模塊的導入中, 不要產生循環引用問題

三 包

  包的定義:集合一組py文件,提供一組復雜的功能

  1.直接導入模塊

    (1) import 包.包.模塊名

     包.包.模塊名.變量(函數)

    (2) from 包包 import 模塊名

     模塊名.變量(函數)

  註意:從包中導入模塊要註意,這個包的所在目錄是否在sys.path中

   2導入包

      (1).包中模塊的絕對導入 使用時,包的位置不能變

      (2)包中模塊的相對導入,

模塊及模塊的相關操作