Python知識(shí)分享網(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  包 

 

 

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

為了更好地管理多個(gè)模塊源文件,Python提供了包的概念。那么問(wèn)題來(lái)了,什么是包呢?

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

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

Python ?包? 圖1

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

Python  包  圖2

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

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

Python  包  圖3

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

導(dǎo)入整個(gè)模塊 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文件里控制暴露的模塊,通過(guò)all=[]指定

 

__all__ = ['module1']

 

測(cè)試:

 

from my_package import *

module1.test1()

 

 

 

轉(zhuǎn)載自: