1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 【Python】Python 包 ① ( Python 包引入 | Python 包概念 | Python 包结

【Python】Python 包 ① ( Python 包引入 | Python 包概念 | Python 包结

时间:2021-05-05 08:39:21

相关推荐

【Python】Python 包 ① ( Python 包引入 | Python 包概念 | Python 包结

文章目录

一、Python 包简介1、Python 包引入2、Python 包概念3、Python 包结构4、创建 Python 包5、导入 Python 包

一、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 标准库 包含了许多常用的包和模块 , 如 :

ossysdatetimemath

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

numpypandasFlask

3、Python 包结构

Python 包 组成 :

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

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

Python 包结构示例 :

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

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

如下图所示 :

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

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 导入包 :导入后 , 可以 通过包名.模块名.功能名访问指定功能 ;

import 包名.模块名

from 导入包 :

from 包名 import 模块名

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

import my_package.my_module1

from my_package import my_module1

代码 ;

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

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。
相关阅读
方法入门_概念引入

方法入门_概念引入

2021-05-26

webpack——概念的引入

webpack——概念的引入

2021-07-23

NS-3概念引入

NS-3概念引入

2018-11-23

路由引入基本概念

路由引入基本概念

2018-08-09