Python零基础入门(十)——模块与包

这篇具有很好参考价值的文章主要介绍了Python零基础入门(十)——模块与包。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Python零基础入门(十)——模块与包,Python,# Python入门,python,人工智能,开发语言,pycharm

系列文章目录

个人简介:机电专业在读研究生,CSDN内容合伙人,博主个人首页
Python入门专栏:《Python入门》欢迎阅读,一起进步!🌟🌟🌟
码字不易,如果觉得文章不错或能帮助到你学习,可以点赞👍收藏📁评论📒+关注哦!😊😊😊


导语

欢迎来到本系列的第十篇文章!在前面的学习中,已经介绍了 Python 的基本语法、条件和循环语句、函数、以及面向对象编程等知识。今天,我们将继续扩展 Python 技能,学习有关模块与包的内容。模块与包是 Python 中非常重要的概念,它们能够帮助组织和管理代码,提高代码的复用性和可维护性。

模块概述

Python 提供了强大的模块支持,主要体现为不仅在 Python 标准库中包含了大量的模块(称为标准模块),如 mathrandomdatetime 等,而且还有很多第三方模块,另外开发者自己也可以开发自定义模块

模块的英文是 Modules,可以认为是一盒主题积木,通过它可以拼出某一主题的东西。这与函数不同,一个函数相当于一块积木,而一个模块中可以包括很多函数,也就是很多积木,所以也可以说模块相当于一盒积木。

在 Python 中,一个扩展名为 “py” 的文件就称之为一个模块。通常情况下,把能够实现某一特定功能的代码放置在一个文件中作为一个模块,从而方便其他程序和脚本导入并使用。另外,使用模块也可以避免函数名和变量名冲突。

自定义模块

除了使用 Python 内置的模块外,也可以自己创建和使用自定义模块。自定义模块可以将一组相关的功能放在一个文件中,并在其他程序中进行引用。

创建模块

创建模块可以将模块中相关的代码(变量定义和函数定义等)编写在一个单独的文件中,并且将该文件命名为 “模块名+.py” 的形式,也就是说,创建模块,实际就是创建一个 .py 文件。

引用模块

Python 提供了多种方式来引用模块:

使用 import 语句

使用 import 语句可以导入整个模块,并使用模块中定义的功能。

import math

result = math.sqrt(25)
print(result)  # 输出 5.0

注意:使用 import 语句导入模块时,模块名是区分字母大小写的。

导入特定功能

如果只需要使用模块中的某个功能,可以使用 from ... import ... 语句。

from math import sqrt

result = sqrt(25)
print(result)  # 输出 5.0

为模块或功能取别名

在导入模块时,也可以为其取一个别名,方便使用。

import math as m
from math import sqrt as square_root

result = m.sqrt(25)
print(result)  # 输出 5.0

result2 = square_root(36)
print(result2)  # 输出 6.0

模块搜索目录

当使用 import 语句导入模块时,默认情况下,会按照以下顺序进行查找:

  • 1.内置模块:首先搜索内置的模块,例如 mathsys 等。
  • 2.当前工作目录:如果模块与当前脚本文件(或交互式会话)在同一目录下, 那么 Python 会优先从当前工作目录进行搜索。
  • 3.PYTHONPATH 路径:Python 会按照 PYTHONPATH 环境变量中声明的路径顺序逐个搜索。
  • 4.标准库路径:如果模块仍然未找到,则 Python 会搜索标准库的安装路径。
  • 5.错误:如果在以上步骤都找不到模块,则会抛出 ModuleNotFoundError 异常。

以上各个目录的具体位置保存在标准模块 syssys.path 变量中。可以通过以下代码输出具体的目录:

import sys				# 导入标准模块 sys
print(sys.path)			# 输出具体目录

执行上面的代码,将显示下图所示的结果。

Python零基础入门(十)——模块与包,Python,# Python入门,python,人工智能,开发语言,pycharm

引用标准模块

Python 内置了大约 200 多个标准模块,它们提供了丰富的功能和工具。下面是一个常用的 Python 标准模块及其功能:

模块名 功能 示例用途
math 数学运算函数,如三角函数、指数对数、常量 π 等 计算三角函数值、计算数学表达式
random 生成随机数,如随机整数、随机选择、洗牌等 随机数游戏、随机抽取样本数据
datetime 处理日期和时间,如获取当前日期时间、格式化日期时间等 日期时间处理、时间戳转换
os 操作系统接口,如文件和目录操作、环境变量、进程管理等 文件操作、目录遍历、环境变量读取
sys 提供对解释器的访问,如命令行参数、标准输入输出等 命令行参数解析、标准输入输出重定向
re 正则表达式操作,用于字符串匹配和替换 文本处理、数据提取
json JSON 数据编码和解码 与其他系统交互、配置文件存储
csv CSV 文件读写 数据处理、数据导入导出
urllib URL 处理和访问网络资源 网络请求、网页爬虫
sqlite3 SQLite 数据库操作 数据存储、小型数据库应用
collections 扩展的容器数据类型,如dequeCounterdefaultdict 数据分析、数据处理
itertools 提供用于高效循环的迭代器工具 迭代操作、组合生成器
argparse 命令行参数解析 命令行工具、脚本参数配置
logging 记录日志信息 应用日志、调试信息输出
multiprocessing 多进程编程,支持多进程和进程间通信 并行处理、分布式计算

下载与安装第三方模块

除了 Python 内置的标准模块外,还有许多由 Python 社区贡献的第三方模块,可以为项目提供更多功能和特性。下面是常用的 Python 第三方模块及其功能:

模块名 功能 示例用途
requests 发送 HTTP 请求,进行网络通信 网络数据爬取、API调用
pandas 数据处理和分析,提供 DataFrame 和 Series 数据结构 数据清洗、数据分析、数据可视化
numpy 科学计算和数值运算,提供多维数组和矩阵操作 数值计算、线性代数运算
matplotlib 绘制图表和可视化工具 数据可视化、图表绘制
scipy 科学计算工具集,提供数学、科学和工程计算 数值计算、数据拟合、信号处理
beautifulsoup4 解析 HTML 和 XML 文档,提取网页数据 网页爬虫、网页数据提取
scrapy 强大的网络爬虫框架 大规模数据爬取、数据抓取
django Web 应用开发框架 构建Web应用、网站开发
flask 轻量级 Web 应用开发框架 快速构建Web应用、API服务
sqlalchemy SQL 数据库的 ORM(对象关系映射)框架 数据库操作、数据持久化
tensorflow 深度学习框架 机器学习、神经网络模型训练
pytorch 深度学习框架,提供动态计算图 机器学习、神经网络模型训练
keras 高级神经网络 API,基于 TensorFlow 或 Theano 快速构建和训练神经网络模型
nltk 自然语言处理工具集 文本处理、语言分析
opencv-python 计算机视觉库,用于图像和视频处理 图像处理、计算机视觉应用
selenium 浏览器自动化测试工具 网页自动化操作、Web 测试

要使用这些第三方模块,需要先下载并安装它们。

使用pip

pip 是Python的包管理器,可以用来下载和安装第三方模块。打开命令行终端,使用以下命令来安装一个名为 requests 的第三方模块:

pip install requests

这将从 Python 官方的 PyPI(Python Package Index)仓库中下载并安装 requests 模块。

由于 Python 官方的 PyPI 仓库位于国外,如果网络连接到 PyPI 缓慢,可以通过以下使用国内镜像源来快速下载:

国内有一些镜像源提供了 Python 第三方模块的镜像,可以加快下载速度。例如,清华大学提供了 PyPI 的镜像源。在终端中使用以下命令来更换为清华大学的 PyPI 镜像源:

pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

安装完成后,就可以在代码中导入并使用这个模块了。

如果想要查看 Python 中都有哪些模块(包括标准模块和第三方模块),可以在 IDLE 中输入以下命令:

help('modules')

如果只是想要查看已经安装的第三方模块,可以在命令行窗口中输入以下命令:

pip list

以主程序的形式执行

在 Python 中,可以将一个文件既作为模块引用,又可以作为独立的程序执行。这可以通过 if __name__ == "__main__": 来实现。

# my_module.py

def add(a, b):
    return a + b

def subtract(a, b):
    return a - b

if __name__ == "__main__":
    result1 = add(5, 3)
    print(result1)  # 输出 8

    result2 = subtract(10, 4)
    print(result2)  # 输出 6

当直接运行 my_module.py 时,if __name__ == "__main__": 块中的代码将会执行;而当这个文件作为模块被引用时,if __name__ == "__main__": 块中的代码将不会执行。

这是因为当 Python 解释器执行一个文件时,它会将特殊的变量 __name__ 设置为一个特定的值。如果一个文件是作为独立程序执行,那么 __name__ 的值将被设置为 "__main__";如果一个文件是被导入为模块使用,那么 __name__ 的值将是模块的名称。

Python中的包

包是一种包含模块的文件夹,它允许将相关的模块组织在一起。包含一个特殊的文件 __init__.py(可以是空文件)来表示这个文件夹是一个包。使用包的好处是更好地组织和管理模块,避免模块名称冲突,并且使代码结构更清晰。

创建包的目的不是为了运行,而是被导入使用,包只是模块的一种形式而已。

创建包

创建包实际上就是创建一一个文件夹,并且在该文件夹中创建一个名称为 __init__.py 的 Python 文件。在 __init__.py 文件中,可以不编写任何代码,也可以编写一些 Python 代码。在 __init__.py 文件中所编写的代码,在导入包时会自动执行。

例如,创建一个名为 my_package 的包,它的目录结构如下:

my_package/
    __init__.py
    module1.py
    module2.py
    subpackage/
        __init__.py
        module3.py

使用包

创建包以后,就可以在包中创建相应的模块,然后再使用import语句从包中加载模块。从包中加
载模块通常有以下3种方式:

  • 通过 “import +完整包名.模块名” 形式加载指定模块;
  • 通过 “from + 完整包名+ import + 模块名” 形式加载指定模块
  • 通过 “from + 完整包名.模块名 + import + 定义名” 形式加载指定模块

结语

本篇博客,介绍了 Python 中模块与包的概念、自定义模块、导入模块、以及以主程序形式执行代码。模块与包是 Python 中组织代码、实现复用性和可维护性的重要工具,希望你能在今后的编程中善于运用它们。感谢阅读,祝你编程愉快!文章来源地址https://www.toymoban.com/news/detail-619604.html

到了这里,关于Python零基础入门(十)——模块与包的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • python模块与包

    表面上看是一个文件,实质是为了防止过度耦合,分类存储代码。 1)普通导入 import 模块名[ as 别名] 模块名.变量 模块名.函数名() 2)导入模块里的函数 from 模块名 import 函数名[ as 别名] 导入模块中所有函数 from 模块名 import * 不用加入模块名,直接调用函数 3)导入多个模

    2023年04月11日
    浏览(83)
  • Python异常模块与包

    目录 一  了解异常 二  捕获异常 使用except而不带任何异常类型 使用except而带多种异常类型 try-finally 语句 异常的参数 三  模块 3-1 模块的导入方式 1.import 语句 2.from…import 语句 3.as定义别名 3-2 自定义模块 测试模块  四   Python包  4-1 Python中的包  4-2 第三方包 什么是异常?

    2024年01月25日
    浏览(41)
  • Python | 文件、异常模块与包

    1.1 文件编码 编码就是一种规则集合,记录了内容和二进制间进行相互转换的逻辑。 计算机常用编码: UTF-8 GBK Big5 UTF-8是目前全球通用的编码格式 除非有特殊需求,否则,一律以UTF-8格式进行文件编码即可。 1.2 文件的读取操作 一般,文件可以分为文本文件、视频文件、音频

    2024年02月13日
    浏览(37)
  • Python-Go python模块与包 - GO问题 - GO容量测试

    目录 go 模块与包复习(Init函数 - go mod) init函数有什么用?init函数是什么? go.mod文件是什么?有什么作用? python的模块与包 python中包的分类 1、内置模块:不需要安装,直接使用 2、三方模块:需要安装,再使用 3、自定义模块 python中自定义模块的简述 导入模块的两种方式

    2024年02月16日
    浏览(40)
  • < Python全景系列-7 > 提升Python编程效率:模块与包全面解读

    欢迎来到我们的系列博客《Python全景系列》!在这个系列中,我们将带领你从Python的基础知识开始,一步步深入到高级话题,帮助你掌握这门强大而灵活的编程语法。无论你是编程新手,还是有一定基础的开发者,这个系列都将提供你需要的知识和技能。 Python全景系列的第七

    2024年02月06日
    浏览(44)
  • 入门人工智能 —— 学习 python 使用 IDE :vscode 完成编程 (2)

    在上一篇文章中,介绍了如何入门人工智能编程,并开始了学习 Python 编程语言的基础知识。本文是系列文章的第二部分,我们将继续探讨 Python 编程,但这次我们将使用 Visual Studio Code(简称 VSCode)作为我们的集成开发环境(IDE)。VSCode 是一个功能强大的文本编辑器,它可以

    2024年02月09日
    浏览(64)
  • 人工智能基础 | Python实现 洗衣机模糊推理系统

    Pycharm + Anaconda3 已知一组污泥和油脂两个参数的 模糊集合 ,以及对应的洗涤时间推理的结果。 现再给出一组污泥和油脂的模糊集合,进行 模糊推理 ,推出洗涤时间的 模糊集合 。 最后进行 模糊决策 ,选择洗涤时间的档次,采用 最大隶属度 和 加权平均法 两种方法 “污泥

    2023年04月08日
    浏览(67)
  • 用于人工智能研究的开源Python微电网模拟器pymgrid(入门篇)

    pymgrid是一个开源Python库,用于模拟微型电网的三级控制,允许用户创建或自行选择的微电网。并可以使用自定义的算法或pymgrid中包含的控制算法之一来控制这些微电网(基于规则的控制和模型预测控制)。 pymgrid还提供了与OpenAI Gym API相对应的环境,提供了连续和离散动作空

    2024年02月11日
    浏览(70)
  • 【数据分析入门】人工智能、数据分析和深度学习是什么关系?如何快速入门 Python Pandas?

    本文详细介绍了人工智能、数据分析和深度学习之间的关系,并就数据分析所需的Pandas库做了胎教般的入门引导。祝读得开心!   本文是原 《数据分析大全》 、现改名为 《数据分析》 专栏的第二篇,我在写这篇文章的时候突然意识到—— 单靠我是不可能把数据分析的方

    2024年02月14日
    浏览(74)
  • AI人工智能中的数学基础原理与Python实战: 线性代数基础概述

    随着人工智能技术的不断发展,人工智能已经成为了许多行业的核心技术之一。在人工智能领域中,数学是一个非常重要的基础。线性代数是数学中的一个重要分支,它在人工智能中发挥着至关重要的作用。本文将介绍线性代数的基本概念、算法原理、具体操作步骤以及数学

    2024年04月12日
    浏览(67)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包