• 上手Python之包


    基于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也提供了安装第三方包的功能:

     

     

     

  • 相关阅读:
    opencv用自适应直方图均衡化函数cv2.createCLAHE()提高对比度
    C++ 取近似值
    【STM32】RCC时钟模块(使用HAL库)
    pmm最新版本v2.40.0尝鲜体验
    Unity UGUI的PointerEventData的介绍及使用
    Web APIs第02天笔记——排他思想
    php 命名空间
    离散数学笔记——集合
    ID生成器代码重构问题
    重温 JavaScript 系列(3):Set、Map、内存泄露情况、json和xml数据、delete能删除什么、defer和async区别
  • 原文地址:https://blog.csdn.net/m0_62436868/article/details/127595032