0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

python包、模块和库是什么

python爬虫知识分享 来源:python爬虫知识分享 作者:python爬虫知识分享 2022-03-09 16:47 次阅读

1. 模块

.py 为后缀的文件,我们称之为 模块,英文名 Module。

模块让你能够有逻辑地组织你的 Python 代码段,把相关的代码分配到一个模块里能让你的代码更好用,更易懂。

假设现在有一个名为 demo.py 的文件,文件内容如下

name="Python编程时光"
print("导入成功")

直接使用 import 语句就可以导入,导入之后,就可以使用 模块名.变量名 的方式访问这个变量。

>>> import demo
导入成功
>>> demo.name
'Python编程时光'

在导入模块的时候,有一个非常重要的全局变量需要掌握,那就是 __name__ 这个变量。

现在把 demo.py 的内容改成

$ cat demo.py
print("__name__ 的值为: " + __name__)

当模块被直接执行时, __name__ 的值为 __main__

$ python demo.py
__name__ 的值为: __main__

当模块被导入时, __name__ 的值为 模块名

>>> import demo
__name__ 的值为: demo

当该模块被导入后,会在当前目录下产生一个 叫做 __pycache__ 的缓存文件夹。

$ tree
.
├── __pycache__
│ └── demo.cpython-39.pyc
└── demo.py

这个文件夹有什么用呢?

简单来说,当你导入模块的时候,Python解释器会把模块的代码编译成字节码,并放入 __pycache__文件夹中。

这样以后再次运行的话,如果被调用的模块未发生改变,那就直接跳过编译这一步,直接去__pycache__文件夹中去运行相关的 *.pyc 文件,大大缩短了项目运行前的准备时间。

2. 包

在早一点的 Python 版本(Python 3.3 之前)中,如果一个文件夹下有一个 __init__.py 文件,那我们就称之为包,英文名 Package。

在后来的 Python 版本(Python 3.3 开始)中,就没有这个要求了,只要是文件夹就可以当做包,我们称之为空间命名包,为做区分,我把上面那种包称之为 传统包。

考虑到很多人其实并不需要接触到空间命名包,所以我将空间命名包的内容单独放在一节里,为选读章节。

今天这节里主要讲讲传统包的内容。

传统包里的 __init__.py 可以为空文件,但一定要有该文件,它是包的标志性文件,在需要情况下可以在里面进行一些包的初始化工作。

$ tree
.
└── demo
    ├── __init__.py
    ├── bar.py
    └── foo.py

一个包里可以有多个模块,比如上面的 foo.pybar.py 都属于 demo 模块。

如果要使用这些模块,就需要这样导入

>>> import demo.foo
成功导入 foo.py
>>> import demo.bar
成功导入 bar.py

或者这样

>>> from demo import foo
成功导入 foo.py
>>> from demo import bar
成功导入 bar.py

3. 库

Python 库是指一定功能的代码集合,通常认为他是一个完整的项目打包。

库->包->模块,是从大到小的层级关系!

库:一个库可能由多个包和模块组成

包:一个包可能由多个模块组成

模块:一堆函数、类、变量的集合

审核编辑:符乾江

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 模块
    +关注

    关注

    7

    文章

    2695

    浏览量

    47431
  • python
    +关注

    关注

    56

    文章

    4792

    浏览量

    84627
收藏 人收藏

    评论

    相关推荐

    使用Python进行串口通信的案例

    当然!以下是一个使用Python进行串口通信的简单示例。这个示例展示了如何配置串口、发送数据以及接收数据。我们将使用 pyserial ,这是一个非常流行的用于串口通信的Python
    的头像 发表于 11-22 09:11 179次阅读

    如何使用Python构建LSTM神经网络模型

    构建一个LSTM(长短期记忆)神经网络模型是一个涉及多个步骤的过程。以下是使用Python和Keras构建LSTM模型的指南。 1. 安装必要的 首先,确保你已经安装了Python
    的头像 发表于 11-13 10:10 327次阅读

    Python解析:通过实现代理请求与数据抓取

    Python中,有多个可以帮助你实现代理请求和数据抓取。这些提供了丰富的功能和灵活的API,使得你可以轻松地发送HTTP请求、处理响应、解析HTML/XML/JSON数据,以及进行复杂的网络操作。
    的头像 发表于 10-24 07:54 164次阅读

    使用Python进行Ping测试

    )请求,然后等待目标主机返回响应,从而测量网络的延迟和丢情况。随着Python编程语言的广泛应用,越来越多的网络工程师开始使用Python
    的头像 发表于 08-12 17:56 493次阅读
    使用<b class='flag-5'>Python</b>进行Ping测试

    pytorch和python的关系是什么

    在当今的人工智能领域,Python已经成为了最受欢迎的编程语言之一。Python的易学易用、丰富的和框架以及强大的社区支持,使其成为了数据科学、机器学习和深度学习等领域的首选语言。而在深度学习领域
    的头像 发表于 08-01 15:27 1885次阅读

    opencv-python和opencv一样吗

    不一样。OpenCV(Open Source Computer Vision Library)是一个开源的计算机视觉和机器学习软件,它提供了大量的图像和视频处理功能。OpenCV-Python
    的头像 发表于 07-16 10:38 1160次阅读

    深度学习常用的Python

    深度学习作为人工智能的一个重要分支,通过模拟人类大脑中的神经网络来解决复杂问题。Python作为一种流行的编程语言,凭借其简洁的语法和丰富的支持,成为了深度学习研究和应用的首选工具。本文将深入探讨
    的头像 发表于 07-03 16:04 625次阅读

    安装依赖的Python软件时报错如何解决?

    安装依赖的 Python 软件,出现了如下错误,请问如何解决,谢谢! Command \"E:/msys32/mingw32/bin/python2.7.exe E:/msys32
    发表于 06-26 07:32

    ESP32下如何加自定义Python

    我看官方有提供Micropython的bin文件,但我想根据自己外设扩充一下Python,这个应该从哪里入手? 之前做过RTT系统的python扩充,RTT有提供Micropyth
    发表于 06-18 06:27

    Spectrum仪器为旗下200余款产品提供了灵活的Python编程功能

    Spectrum仪器旗下全部的测试测量产品。新的软件使采样率在5MS/s到10GS/s区间的200余款仪器的编程更加快速和轻松。Python因其简单、功能多样且灵活的特性深受业内欢迎,它拥有丰富的资源和框架
    的头像 发表于 05-15 16:51 316次阅读

    python 学习:在内网中 python-numpy 安装方法,升级pip3版本的指令

    指令格式如下:先下载numpy到C盘具体位置 手动安装指令如下: pip install c:\\\\users\\\\sesa738142
    发表于 04-22 17:18

    如何使用Python生成四位随机数字

    为了实现这些目标,Python 为我们提供了random() 模块。random() 是一个内置的 Python 模块,用于生成随机数。
    的头像 发表于 04-15 12:47 650次阅读

    基于Python的地图绘制教程

    本文将介绍通过Python绘制地形图的方法,所需第三方Python相关模块包括 rasterio、geopandas、cartopy 等,可通过 pip 等方式安装。
    的头像 发表于 02-26 09:53 1198次阅读
    基于<b class='flag-5'>Python</b>的地图绘制教程

    Python智能家居系统代码介绍

    Python智能家居系统是一种基于Python编程语言开发的智能家居控制系统,在现代家庭中得到了越来越广泛的应用。本文将详细介绍Python智能家居系统的代码实现,包括系统的结构与功能模块
    的头像 发表于 01-25 09:46 1352次阅读

    如何使用Python PySNMP模块获取设备指标呢?

    PySNMP 是一个跨平台的纯Python SNMP 引擎实现。
    的头像 发表于 01-12 13:59 3064次阅读