Python包

一个 Python 包就是一个包含多个 Python 模块的目录

你可以把它想象成一个文件夹 ,这个文件夹里放了很多 .py 文件(模块),并且还有一个特殊的标识文件 __init__.py

  • 模块 :一个 .py 文件就是一个模块,里面可以包含函数、类、变量等。

  • :一个包含 __init__.py 文件和多个模块的目录。包还可以包含子包(子目录),从而形成一个层次化的结构。

创建包

让我们通过一个例子来创建一个名为 my_package 的包。

步骤 1:创建目录结构

首先,在项目文件夹中创建如下目录和文件:

步骤 2:编写模块代码

module1.py 中:

复制代码
def test1():
    print("test module1")

在module2.py中:

复制代码
def test2():
    print("test module2")

使用方法,相对之前的导入方式,前面要加上包名

导入整个模块:import 包名.模块名

复制代码
import my_package.module1
import my_package.module2

my_package.module1.test1()
my_package.module2.test2()
'''
输出;
test module1
test module2
'''

导入模块中指定成员:from 包名 import 模块名.成员名

复制代码
from my_package import module1
from my_package import module2
module1.test1()
module2.test2()

__init__.py 文件

只要一个目录里有这个文件,Python 就会把这个目录当作一个包。

  • 它可以是一个空文件。

  • 它也可以包含包的初始化代码,或者定义 __all__ 列表来控制 from package import * 的行为。

  • 它本身也是一个模块,其模块名就是包名(mypackage)。

在init.py文件里控制暴露的模块,通过all=[]指定

复制代码
__all__ = ['module1']

如下,导入所有模块时,使用module2会报错

相关推荐
Coinsheep2 分钟前
SSTI-flask靶场搭建及通关
python·flask·ssti
IT实战课堂小元酱3 分钟前
大数据深度学习|计算机毕设项目|计算机毕设答辩|flask露天矿爆破效果分析系统开发及应用
人工智能·python·flask
码农阿豪4 分钟前
Flask应用上下文问题解析与解决方案:从错误日志到完美修复
后端·python·flask
wqq63108556 分钟前
Python基于Vue的实验室管理系统 django flask pycharm
vue.js·python·django
Q_Q19632884758 分钟前
python大学生爱心校园互助代购网站_nyvlx_django Flask vue pycharm项目
python·django·flask
码农阿豪10 分钟前
Python Flask应用中文件处理与异常处理的实践指南
开发语言·python·flask
xcLeigh11 分钟前
Python 项目实战:用 Flask 实现 MySQL 数据库增删改查 API
数据库·python·mysql·flask·教程·python3
威迪斯特12 分钟前
Flask:轻量级Web框架的技术本质与工程实践
前端·数据库·后端·python·flask·开发框架·核心架构
独好紫罗兰31 分钟前
对python的再认识-基于数据结构进行-a003-列表-排序
开发语言·数据结构·python
AIFarmer39 分钟前
在EV3上运行Python语言——无线编程
python·ev3