手撕Python!模块、包、库,傻傻分不清?一分钟带你弄明白!

简介: 手撕Python!模块、包、库,傻傻分不清?一分钟带你弄明白!

哈喽,各位小伙伴们!今天咱们来聊聊Python中的模块、包和库,很多新手小白经常搞混,别担心,看完这篇,保证你一分钟就能搞定!

打个比方:

  • 模块 (Module): 就好比是一块块乐高积木,每个模块包含特定的功能代码,比如实现加减乘除运算的模块。
  • 包 (Package): 就好比是用来存放乐高积木的盒子,一个盒子可以装不同功能的积木,让你的积木更有序,方便查找和使用。
  • 库 (Library): 就好比是拥有很多个积木盒子的仓库,每个盒子代表一个库,比如专门搭建城堡的积木库、搭建汽车的积木库等等。

代码示例:

假设我们要开发一个简单的计算器程序,可以使用模块、包来组织我们的代码:

1、创建模块:

新建一个名为 calculator.py 的文件,编写加减乘除四个函数:

# calculator.py
def add(x, y):
    """加法运算"""
    return x + y
 
def subtract(x, y):
    """减法运算"""
    return x - y
 
def multiply(x, y):
    """乘法运算"""
    return x * y
 
def divide(x, y):
    """除法运算"""
    if y == 0:
        return "除数不能为0"
    return x / y

2、创建包:

创建一个名为 my_tools 的文件夹,将 calculator.py  放入其中,并新建一个名为 __init__.py 的空文件(必须要有)。

my_tools/
    __init__.py 
    calculator.py

3、使用模块和包:

新建一个 main.py 文件,导入并使用我们创建的模块和包:

# main.py
# 导入模块
import calculator 
 
print(calculator.add(1, 2))  # 输出:3
 
# 导入包
import my_tools.calculator
 
print(my_tools.calculator.multiply(2, 3))  # 输出:6

总结:

  • 模块是单个Python文件,包含可执行代码、函数、类等。
  • 包是由多个模块组成的文件夹,用于组织和管理模块。
  • 库是更高级别的封装,由多个包和模块组成,提供特定功能,例如NumPy、Pandas等。

希望通过这个例子,大家能够彻底搞清楚Python中模块、包和库的区别!

相关文章
|
7月前
|
SQL 关系型数据库 数据库
Python SQLAlchemy模块:从入门到实战的数据库操作指南
免费提供Python+PyCharm编程环境,结合SQLAlchemy ORM框架详解数据库开发。涵盖连接配置、模型定义、CRUD操作、事务控制及Alembic迁移工具,以电商订单系统为例,深入讲解高并发场景下的性能优化与最佳实践,助你高效构建数据驱动应用。
899 7
|
7月前
|
监控 安全 程序员
Python日志模块配置:从print到logging的优雅升级指南
从 `print` 到 `logging` 是 Python 开发的必经之路。`print` 调试简单却难维护,日志混乱、无法分级、缺乏上下文;而 `logging` 支持级别控制、多输出、结构化记录,助力项目可维护性升级。本文详解痛点、优势、迁移方案与最佳实践,助你构建专业日志系统,让程序“有记忆”。
643 0
|
8月前
|
存储 人工智能 测试技术
如何使用LangChain的Python库结合DeepSeek进行多轮次对话?
本文介绍如何使用LangChain结合DeepSeek实现多轮对话,测开人员可借此自动生成测试用例,提升自动化测试效率。
2025 125
如何使用LangChain的Python库结合DeepSeek进行多轮次对话?
|
8月前
|
监控 数据可视化 数据挖掘
Python Rich库使用指南:打造更美观的命令行应用
Rich库是Python的终端美化利器,支持彩色文本、智能表格、动态进度条和语法高亮,大幅提升命令行应用的可视化效果与用户体验。
794 0
|
7月前
|
数据可视化 关系型数据库 MySQL
【可视化大屏】全流程讲解用python的pyecharts库实现拖拽可视化大屏的背后原理,简单粗暴!
本文详解基于Python的电影TOP250数据可视化大屏开发全流程,涵盖爬虫、数据存储、分析及可视化。使用requests+BeautifulSoup爬取数据,pandas存入MySQL,pyecharts实现柱状图、饼图、词云图、散点图等多种图表,并通过Page组件拖拽布局组合成大屏,支持多种主题切换,附完整源码与视频讲解。
762 4
【可视化大屏】全流程讲解用python的pyecharts库实现拖拽可视化大屏的背后原理,简单粗暴!
|
7月前
|
传感器 运维 前端开发
Python离群值检测实战:使用distfit库实现基于分布拟合的异常检测
本文解析异常(anomaly)与新颖性(novelty)检测的本质差异,结合distfit库演示基于概率密度拟合的单变量无监督异常检测方法,涵盖全局、上下文与集体离群值识别,助力构建高可解释性模型。
582 10
Python离群值检测实战:使用distfit库实现基于分布拟合的异常检测
|
7月前
|
JSON 算法 API
Python中的json模块:从基础到进阶的实用指南
本文深入解析Python内置json模块的使用,涵盖序列化与反序列化核心函数、参数配置、中文处理、自定义对象转换及异常处理,并介绍性能优化与第三方库扩展,助你高效实现JSON数据交互。(238字)
623 4
|
8月前
|
安全 大数据 程序员
Python operator模块的methodcaller:一行代码搞定对象方法调用的黑科技
`operator.methodcaller`是Python中处理对象方法调用的高效工具,替代冗长Lambda,提升代码可读性与性能。适用于数据过滤、排序、转换等场景,支持参数传递与链式调用,是函数式编程的隐藏利器。
255 4
|
7月前
|
Java 调度 数据库
Python threading模块:多线程编程的实战指南
本文深入讲解Python多线程编程,涵盖threading模块的核心用法:线程创建、生命周期、同步机制(锁、信号量、条件变量)、线程通信(队列)、守护线程与线程池应用。结合实战案例,如多线程下载器,帮助开发者提升程序并发性能,适用于I/O密集型任务处理。
718 0
|
9月前
|
运维 Linux 开发者
Linux系统中使用Python的ping3库进行网络连通性测试
以上步骤展示了如何利用 Python 的 `ping3` 库来检测网络连通性,并且提供了基本错误处理方法以确保程序能够优雅地处理各种意外情形。通过简洁明快、易读易懂、实操性强等特点使得该方法非常适合开发者或系统管理员快速集成至自动化工具链之内进行日常运维任务之需求满足。
639 18

推荐镜像

更多