標準庫
標準庫 | 說明 |
---|---|
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模塊
- 避免產生循環導入
- 重新架構
- 挪動import的位置