python 模塊的概念介紹


模塊

模塊:本質就是一個.py文件
分為三部分:內置模塊、第三方模塊,自定義模塊

模塊: 頂層文件

  • python模塊
    python模塊可以將代碼量較大的程序分割成多個有組織的、彼此獨立但又能互相交互的代碼片段,這些自我包含的有組織的代碼段就是模塊,模塊在物理形式上表現為以.py結尾的代碼文件
    一個文件被看作一個獨立的模塊,一個模塊也可以被看作是一個文件
    模塊的文件名就是模塊的名字加上擴展名.py
    每個模塊都有自己的名稱空間
    python允許“導入”其他模塊以實現代碼重用,從而也實現了將獨立的代碼文件組織成更大的程序系統
    python中,模塊也是對象
    在一個模塊的頂層定義的所有變量都在被導入時成為了被導入模塊的屬性

  • python程序架構
    一個python程序通常包括一個頂層程序文件和其他的模塊文件(0個、1個或多個)
    頂層文件:包含了程序的主要控制流程
    模塊文件:為頂層文件或其他模塊提供各種功能性組件
    模塊首次導入(或重載)時,python會立即執行模塊文件的頂層程序代碼(不在函數內的代碼)。而位於函數主體內的代碼直到函數被調用后才會執行

  • 模塊的執行環境
    模塊是被導入的,但模塊也可以導入和使用其他模塊,這些模塊可以用python或其他編程語言寫成 模塊可內含變量、函數以及類來僅限其工作,而函數和類可以包含變量和其他元素 

  • 導入模塊
    在導入模塊時只能使用模塊名,而不能使用帶.py后綴的模塊文件名 import語句 導入指定的整個模塊,包括生成一個以模塊名命名的名稱空間 import module1[,module2[,...moduleN]] 建議一個import語句只導入一個模塊 import module as module_alias #為模塊起個別名 from-import語句 常用於只導入指定模塊的部分屬性至當前名稱空間 from module import name1[,name2[,... nameN ]]

  • import和from-import是賦值語句
    import和from是可執行語句,類似於def,因此,它們可以在if測試中,出現於def中等等, python執行到這些語句時才會對其進行解析,這意味着所有來自模塊的屬性僅在import語句執行后才能使用 import和from都是隱性賦值語句 import將整個模塊對象賦值給親一個變量名 from將一個或多個變量名賦值給導入此模塊的模塊中的同名對象模塊就是名稱空間 模塊的名稱空間可以通過屬性dict或dir(M)獲取 模塊屬性可通過點號(.)運算符獲取,格式為M.attr 模塊是一個獨立的作用域(本地變量就是全局變量)

  • import的工作機制
    import語句導入指定的模塊時或執行三個步驟 找到模塊文件 在指定的路徑下搜索模塊文件 編譯成字節碼 文件導入時就會編譯,因此頂層文件的.pyc字節碼文件在內部使用后會被丟棄,只有 被導入的文件才會留下.pyc文件 執行模塊的代碼來創建其所定義的對象 模塊文件中的所有語句會依次執行,從頭至尾,而此步驟中任何對變量名的賦值運算,都會產生所得到的模塊文件的屬性 注意:模塊只在第一次導入時才會執行如上步驟。 后續的導入操作只不過是提取內存中已加載的模塊對象 reload()可用於重新加載模塊

  • import的工作機制
    import語句導入指定的模塊時或執行三個步驟 找到模塊文件 在指定的路徑下搜索模塊文件 編譯成字節碼 文件導入時就會編譯,因此頂層文件的.pyc字節碼文件在內部使用后會被丟棄,只有 被導入的文件才會留下.pyc文件 執行模塊的代碼來創建其所定義的對象 模塊文件中的所有語句會依次執行,從頭至尾,而此步驟中任何對變量名的賦值運算,都會產生所得到的模塊文件的屬性 注意:模塊只在第一次導入時才會執行如上步驟。 后續的導入操作只不過是提取內存中已加載的模塊對象 reload()可用於重新加載模塊


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM