上手Python之包

举报
yd_249383650 发表于 2023/03/17 11:25:14 2023/03/17
【摘要】 ​ 基于Python模块,我们可以在编写代码的时候,导入许多外部代码来丰富功能。 但是,如果Python的模块太多了,就可能造成一定的混乱,那么如何管理呢? 通过Python包的功能来管理。什么是Python包从物理上看,包就是一个文件夹,在该文件夹下包含了一个 __init__.py 文件,该文件夹可用于包含多个模块文件 从逻辑上看,包的本质依然是模块​编辑包的作用:      当我们的模...

 基于Python模块,我们可以在编写代码的时候,导入许多外部代码来丰富功能。

 

但是,如果Python的模块太多了,就可能造成一定的混乱,那么如何管理呢? 通过Python包的功能来管理。

什么是Python包

从物理上看,包就是一个文件夹,在该文件夹下包含了一个 __init__.py 文件,该文件夹可用于包含多个模块文件 从逻辑上看,包的本质依然是模块

编辑

包的作用:      

当我们的模块文件越来越多时,包可以帮助我们管理这些模块, 包的作用就是包含多个模块,但包的本质依然是模块 

快速入门

步骤如下:

① 新建包`my_package`

② 新建包内模块:`my_module1` 和 `my_module2`

③ 模块内代码如下

编辑

Pycharm中的基本步骤:

[New]      [Python Package]    输入包名    [OK]     新建功能模块(有联系的模块)

注意:新建包后,包内部会自动创建`__init__.py`文件,这个文件控制着包的导入行为 

导入包

方式一:

import 包名.模块名

包名.模块名.目标

编辑

 方式二:

注意:必须在`__init__.py`文件中添加`__all__ = []`,控制允许导入的模块列表

from 包名 import *

编辑

 my_module1报红证明不可用 注意:     __all__针对的是 ’ from ... import * ‘ 这种方式 对 ‘ import xxx ’ 这种方式无效

1. 什么是Python的包?

        包就是一个文件夹,里面可以存放许多Python的模块(代码文件),通过包,在逻辑上将一批模块归为一类,方便使用。

2. __init__.py文件的作用?

         创建包会默认自动创建的文件,通过这个文件来表示一个文件夹是Python的包,而非普通的文件夹。

3. __all__变量的作用?

         同模块中学习到的是一个作用,控制 import * 能够导入的内容

安装第三方包 

什么是第三方包

我们知道,包可以包含一堆的Python模块,而每个模块又内含许多的功能。 所以,我们可以认为:一个包,就是一堆同类型功能的集合体。

在Python程序的生态中,有许多非常多的第三方包(非Python官方),可以极大的帮助我们提高开发效率,如:

科学计算中常用的:numpy包

数据分析中常用的:pandas包

大数据计算中常用的:pyspark、apache-flink包

图形可视化常用的:matplotlib、pyecharts

人工智能常用的:tensorflow 等

这些第三方的包,极大的丰富了Python的生态,提高了开发效率。 但是由于是第三方,所以Python没有内置,所以我们需要安装它们才可以导入使用哦。

安装第三方包 - pip

第三方包的安装非常简单,我们只需要使用Python内置的pip程序即可。

打开我们许久未见的:命令提示符程序,在里面输入: pip install 包名称

即可通过网络快速安装第三方包

编辑

pip的网络优化 

由于pip是连接的国外的网站进行包的下载,所以有的时候会速度很慢。

我们可以通过如下命令,让其连接国内的网站进行包的安装:

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple 包名称

编辑

https://pypi.tuna.tsinghua.edu.cn/simple 是清华大学提供的一个网站,可供pip程序下载第三方包 

 安装第三方包 - PyCharm

PyCharm也提供了安装第三方包的功能:编辑

编辑

编辑


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。