Python知識分享網(wǎng) - 專業(yè)的Python學(xué)習(xí)網(wǎng)站 學(xué)Python,上Python222
Python 包
匿名網(wǎng)友發(fā)布于:2023-09-13 10:14:46
(侵權(quán)舉報(bào))

Python 7天快速入門完整視頻教程https://www.bilibili.com/video/BV1o84y1Z7J1

 

Python  包 

 

 

對于一個需要實(shí)際應(yīng)用的模塊而言,往往會具有很多程序單元,包括變量、函數(shù)和類等,如果將整個模塊的所有內(nèi)容都定義在同一個Python源文件中,這個文件將會變得非常龐大,顯然并不利于模塊化開發(fā)。

為了更好地管理多個模塊源文件,Python提供了包的概念。那么問題來了,什么是包呢?

從物理上看,包就是一個文件夾,在該文件夾下包含了一個_ init.py文件,該文件夾可用于包含多個模塊源文件。

從邏輯上看,包的本質(zhì)依然是模塊。

Python ?包? 圖1

我們右擊項(xiàng)目 Python Package,就是新建包

Python  包  圖2

pycharm自動給我們創(chuàng)建_ init _py文件

再新建兩個模塊,分別是module1.py和module2.py

Python  包  圖3

使用方法,相對之前的導(dǎo)入方式,前面要加上包名

導(dǎo)入整個模塊 import 包名.模塊名

 

import my_package.module1
import my_package.module2

my_package.module1.test1()
my_package.module2.test2()

 

導(dǎo)入模塊中指定成員 from 包名 import 模塊名.成員名

 

# from my_package import module1
# from my_package import module2
#
# module1.test1()
# module2.test2()

# from my_package import module1, module2
#
# module1.test1()
# module2.test2()

from my_package.module1 import test1
from my_package.module2 import test2

test1()
test2()

 

我們可以在 init.py文件里控制暴露的模塊,通過all=[]指定

 

__all__ = ['module1']

 

測試:

 

from my_package import *

module1.test1()

 

 

 

轉(zhuǎn)載自: