前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >【Python】Python 包 ① ( Python 包引入 | Python 包概念 | Python 包结构 | 创建 Python 包 | 导入 Python 包 )

【Python】Python 包 ① ( Python 包引入 | Python 包概念 | Python 包结构 | 创建 Python 包 | 导入 Python 包 )

作者头像
韩曙亮
发布2023-10-11 19:15:32
发布2023-10-11 19:15:32
65100
代码可运行
举报
运行总次数:0
代码可运行

一、Python 包简介

1、Python 包引入

之前 介绍了 Python 模块 , 每个 Python 源码文件 , 都可以定义为一个 Python 模块 ;

如果 定义的 Python 源码模块很多 , 有几百上千个 , 则会出现管理繁琐 , 混乱的问题 ;

这里引入 新的代码结构 " Python 包 " ;

2、Python 包概念

Python 包 概念 : 包是 Python 模块 Module 的扩展 , 将若干 相关的 Module 模块 组织起来 形成一个 Python 包 , 可以更好地 组织 和 管理 Python 代码 ;

在 Python 包中 可以 定义 变量 / 函数 / 类 等功能 , 并在不同的模块中使用它们 ;

在 Python 中 , 一个模块就是一个 Python 源码文件 , 变量 / 函数 / 类 可以定义在不同的 源码中 , 将这些 源码 统一组织在一个包中 , 可以 更好地 组织 和 管理 Python 代码 ;

除了 自定义 Python 包之外 , Python 还提供了 Python 标准库 和 其他人编写的第三方 Python 包 来扩展 Python 的功能 ;

Python 标准库 包含了许多常用的包和模块 , 如 :

  • os
  • sys
  • datetime
  • math

第三方包可以通过 Python Package Index ( PyPI ) 进行 下载 和 安装 , 如 :

  • numpy
  • pandas
  • Flask

3、Python 包结构

Python 包 组成 :

  • 文件夹 / 目录
  • __init__.py 的文件

文件夹 / 目录 的名称必须是 唯一的 , 该名称可使用 横线 - / 下划线 _ , 不能 与 Python 中其他已经存在的名称发生冲突 ;

Python 包结构示例 :

  • 创建一个名为 my_package 的包
  • 包含 6 个模块 module1 ~ module6

将这 6 个模块放在一个名为 my_package 的 目录中 , 并在该 目录中 添加一个名为 __init__.py 的 Python 源码文件 ,

如下图所示 :

上图对应的文件目录结构如下 :

代码语言:javascript
代码运行次数:0
复制
my_package/  
├── __init__.py  
├── my_module1.py  
├── my_module2.py  
├── my_module3.py  
├── my_module4.py  
├── my_module5.py  
└── my_module6.py

4、创建 Python 包

右键点击 PyCharm 中的 Python 工程根目录 , 选择 " New / Python Package " 选项 ,

输入 Python 包名称 , 然后点击回车 , 创建 Python 包 ;

创建完成后 , 自动生成了一个 my_package 目录 , 该目录下自动生成了一个 __init__.py 文件 ;

5、导入 Python 包

使用 from / import 语句 导入 包 或 包中的模块 ;

  • import 导入包 : 导入后 , 可以 通过 包名.模块名.功能名 访问指定功能 ;
代码语言:javascript
代码运行次数:0
复制
import 包名.模块名
  • from 导入包 :
代码语言:javascript
代码运行次数:0
复制
from 包名 import 模块名

要导入 my_package 包中的 my_module1 模块,可以使用如

代码语言:javascript
代码运行次数:0
复制
import my_package.my_module1

代码语言:javascript
代码运行次数:0
复制
from my_package import my_module1

代码 ;

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-06-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、Python 包简介
    • 1、Python 包引入
    • 2、Python 包概念
    • 3、Python 包结构
    • 4、创建 Python 包
    • 5、导入 Python 包
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档