1. 程式人生 > >包 筆記

包 筆記

普通 區別 文件中 使用 註意 不能 導入模塊 sys 報錯

今日內容:
1.什麽是包
包是一種模塊
對於使用者而言,使用方式和模塊沒有任何取別
但本質上就是一個文件夾,與普通文件的區別就是
多了一個__init__.py叫做包的初始化文件
  2 為何要用包
  包是文件夾,那文件夾就是用來組織文件的
  3.
#coding:utf-8
# 註意:
# 在python2中,包下必須有一個__init__.py文件,而python3中即便是沒有也不會報錯

# 首次導入包,發送三件事,
# 1. 以包下的__init_.py文件為基準來產生一個名稱空間
# 2. 執行包下的__init_.py文件的代碼,將執行過程中產生的名字都丟到名稱空間中
# 3. 在當前執行文件中拿到一個名字p1,該p1就是指向__init__.py名稱空間的

# 總結包的使用無非註意三點:
# 1. 但凡是在導入語句中帶點的,點的左邊都必須是一個包
# 2. 導入包就是在導包下的__init__.py文件
# 3. 如果使用絕對導入,絕對導入的起始位置都是以包的頂級目錄為起始點
# 4. 但是包內部模塊的導入通常應該使用相對導入,用.代表當前所在的文件(而非執行文件),..代表上一級
# 強調:
# 1. 相對導入只能包內部的模塊之間互相導入使用
# 2. ..上一級不能超出頂級包
import sys
sys.path.append(r‘D:\脫產三期視頻\day18\01 包的使用\dir1\dir2‘)

# import p1 #導入模塊其實就是在導入包下的__init__.py文件

# print(p1.xxx)
# print(p1.yyy)

# p1.f1()
# p1.f2()
# print(p1.p2)
# p1.p2.f3()

# p1.f3()

包 筆記