手撕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中模块、包和库的区别!

相关文章
WK
|
16天前
|
Python
如何在Python中导入包
在 Python 中,包是一种组织代码的方式,通过包含 `__init__.py` 文件(在 Python 3.3 及以上版本可选)的目录实现。包内可以包含多个模块(`.py` 文件)和其他子包。导入包有多种方式:整体导入包、导入特定模块、导入特定函数或类、导入子包等。推荐的做法是明确指定导入内容以提高代码的可读性和可维护性。此外,确保包目录结构正确,并将其添加到 Python 的搜索路径中。对于分发包,使用 setuptools 和 pip 等工具更为便捷。
WK
111 66
WK
|
16天前
|
Python
如何在Python中创建包
在Python中创建包十分简便,主要涉及目录结构的设置及`__init__.py`文件的配置。虽然Python 3.3后空`__init__.py`文件不再强制要求,但在特定场景下保留它有助于保持兼容性或执行包初始化代码。创建包的具体步骤包括:构建目录结构、编写模块代码、(可选)编写初始化代码等。例如,可以创建一个名为`mypackage`的目录,其中包含`__init__.py`及多个模块文件如
WK
107 62
|
2天前
|
数据采集 网络协议 API
HTTP协议大揭秘!Python requests库实战,让网络请求变得简单高效
【9月更文挑战第13天】在数字化时代,互联网成为信息传输的核心平台,HTTP协议作为基石,定义了客户端与服务器间的数据传输规则。直接处理HTTP请求复杂繁琐,但Python的`requests`库提供了一个简洁强大的接口,简化了这一过程。HTTP协议采用请求与响应模式,无状态且结构化设计,使其能灵活处理各种数据交换。
25 8
|
6天前
|
JSON API 开发者
Python网络编程新纪元:urllib与requests库,让你的HTTP请求无所不能
【9月更文挑战第9天】随着互联网的发展,网络编程成为现代软件开发的关键部分。Python凭借简洁、易读及强大的特性,在该领域展现出独特魅力。本文介绍了Python标准库中的`urllib`和第三方库`requests`在处理HTTP请求方面的优势。`urllib`虽API底层但功能全面,适用于深入控制HTTP请求;而`requests`则以简洁的API和人性化设计著称,使HTTP请求变得简单高效。两者互补共存,共同推动Python网络编程进入全新纪元,无论初学者还是资深开发者都能从中受益。
26 7
|
5天前
|
Java Serverless Python
探索Python中的并发编程与`concurrent.futures`模块
探索Python中的并发编程与`concurrent.futures`模块
11 4
|
13天前
|
机器学习/深度学习 PyTorch 算法框架/工具
python这些库和框架哪个更好
【9月更文挑战第2天】python这些库和框架哪个更好
29 6
|
13天前
|
机器学习/深度学习 数据采集 算法框架/工具
python有哪些常用的库和框架
【9月更文挑战第2天】python有哪些常用的库和框架
18 6
|
16天前
|
数据采集 XML Web App开发
6个强大且流行的Python爬虫库,强烈推荐!
6个强大且流行的Python爬虫库,强烈推荐!
WK
|
13天前
|
数据采集 XML 安全
常用的Python网络爬虫库有哪些?
Python网络爬虫库种类丰富,各具特色。`requests` 和 `urllib` 简化了 HTTP 请求,`urllib3` 提供了线程安全的连接池,`httplib2` 则具备全面的客户端接口。异步库 `aiohttp` 可大幅提升数据抓取效率。
WK
33 1