【python基礎】十五、Python 模塊

標準庫

標準庫 說明
builtins 內建函數
math 數學庫
random 隨機數
time 時間
datetime 時間和日期
calendar 日曆
hashlib 加密算法
copy 拷貝
functools 常用工具
os 操作系統接口
re 正則
sys 自身運行環境
multiprocessing 多進程
threading 多線程
json 編碼解碼 json對象
logging 記錄日誌

自定義模塊

# 變量
# 函數
# 類
  • 導入模塊

    import 模塊名
    模塊名.方法
    模塊名.變量
    模塊名.類

    from 模塊名 import 一部分(類\變量\模塊)

    from 模塊名 import *

    取到 模塊內 all = [’’,’’,’’] 內限制的內容, 僅對 import * 起作用

模塊內不希望被調用的部分

__name__ 表示 正在執行的名字

if __name__ == '__main__':
    # 只有執行本模塊時,__name__ = __main__
    # 被調用時,__name__ = 模塊名
    pass

不同模塊 同名函數

  • 包 和 文件夾 的區別
    • 文件夾 非py文件,放jpg txt html 等
    • 包 放py文件 __init__
      • 不同包內 放同名文件 不衝突
      • 一個包內 可以放多個模塊

project > package > models > class func 變量

  • 使用包package中的模塊

      import package_name import models
      或
      import package.models import func
    
  • 同一個包內 互相導入

      import package.models import *
      或
      import .models import *
    
  • 包內 __init__.py 作用

    • 導入包的時候,默認執行__init__.py文件

    • 包內的內容 可以通過包名調用

    • __init_.py 可以加入__all_ 暴露模塊名

         from package import *
      
    • 沒有的__all__的話,無法使用

循環導入

# file: A.py
import B
    def A():
        B.B()
# file: B.py     
import A
    def B():
        A.A()
  • 會報錯,這是一種錯誤方式,架構不當

A模塊調用 B模塊
B模塊調用 A模塊

  • 避免產生循環導入
    1. 重新架構
    2. 挪動import的位置

在b站學習中

個人主頁

學習鏈接

歡迎 批評 指正

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章