python模塊和包的導入


模塊

  • 一個包含python代碼的.py文件。
  • 模塊的使用
    • import module
    • import module_name
    • import module_name as 別名
    • from module_name import func_name, class_name
    • from module_name import *
  • if __name == 'main' 的使用
    • 可以有效避免模塊代碼被導入的時候被動執行的問題
    • 建議所有程序的入口都以此代碼為入口

模塊的搜索路徑和存儲

  • 系統默認的模塊搜索路徑
    • import sys
    • sys.path 屬性可以獲取路徑列表
  • 添加搜索路徑
    • sys.path.append(dir)
  • 模塊的加載順序
    1. 搜索內存中已經加載好的模塊
    2. 搜索python的內置模塊
    3. 搜索sys.path路徑

  • 自定義包的結構

    /---包
    /---/---__init.py__ 包的標志文件
    /---/---模塊1
    /---/---模塊2
    /---/---子包(子文件夾)
    /---/---/---__init.py__ 包的標志文件
    /---/---/---子包模塊1
    /---/---/---子包模塊1
    
  • 包的使用

    • import package_name
      • 默認對__init__.py中的內容進行導入
    • from package_name import *
      • 導入__init__.py中的模塊,函數和類
    • import package_name.module_name
    • from package_name import module1, module2, ...
  •  __init__.py中如果設置了__all__的值,那么則按照__all__指定的子包或者模塊進行導入
    
  •  __all__ = ['module1', 'module2',..] 
    

關於包和模塊的使用,根據import后面的內容。

  • import的是package,使用時: package_name.module_name
  • import的是module,使用時: module_name.func_name; module_name.class_name
  • import的是package.module, 使用時: package_name.module_name.func_name
  • import的是func, class,使用時:func_name; class_name


免責聲明!

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



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