我常用的几个经典Python模块

简介: 我常用的几个经典Python模块

Python常用的模块非常多,主要分为内置模块和第三方模块两大类,且不同模块应用场景不同又可以分为文本类、数据结构类、数学运算类、文件系统类、爬虫类、网络通讯类等多个类型。

大家常用的内置模块比如:math、re、datetime、urllib、os、random等,第三方模块比如pandas、numpy、requests、matplotlib等。

什么是Python模块?

模块是将复杂的、同一应用领域的功能代码进行封装,你只需要调用接口,输入相应参数,便可以轻松拿到结果,类似瑞士军刀、万能工具箱。

18295fbb898557458f78dcc462b8c2e3.jpg

常用内置模块,约200多个

内置模块,顾名思义就是Python软件内嵌的模块,无需额外安装。

想要了解详细的内置模块,最好去Python官网看,挺详细的

https://docs.python.org/zh-cn/3/library/index.html

你也可以在代码行输入print(help(modules)),会显示全部的内置模块

983947ba365a15af710d5025d67c034b.jpg

这里举几个常用的内置模块,并附上代码:

「math 模块」

用来进行数学计算,它提供了很多数学方面的专业函数,适合科研、算法

import math
# 计算平方根
sqrt_value = math.sqrt(25)
print("Square Root:", sqrt_value)
# 计算正弦值
sin_value = math.sin(math.radians(30))
print("Sine Value:", sin_value)

「re 模块」

正则表达式在Python中的扩展实现,该模块能支持正则表达式几乎所有语法,对于文本处理来说必不可少

import re
# 查找匹配的字符串
pattern = r"\d+"
text = "There are 123 apples and 456 oranges."
matches = re.findall(pattern, text)
print("Matches:", matches)

「datetime 模块」

用于处理日期和时间,这个模块非常实用!!!

import datetime
# 获取当前日期和时间
current_datetime = datetime.datetime.now()
print("Current Date and Time:", current_datetime)
# 格式化日期时间
formatted_datetime = current_datetime.strftime("%Y-%m-%d %H:%M:%S")
print("Formatted Date and Time:", formatted_datetime)

「urllib 模块」

用于进行网络请求,获取网页HTML,所谓的爬虫就是这个模块

import urllib.request
# 发起HTTP GET请求
response = urllib.request.urlopen("https://www.example.com")
html = response.read()
print("HTML Content:", html[:100])

「os 模块」

提供了与操作系统交互的功能,比如文件和目录操作

import os
# 获取当前工作目录
current_dir = os.getcwd()
print("Current Directory:", current_dir)
# 列出目录中的文件和子目录
files_and_dirs = os.listdir(current_dir)
print("Files and Directories:", files_and_dirs)

「random 模块」

用于生成伪随机数

import random
# 生成随机整数
random_integer = random.randint(1, 10)
print("Random Integer:", random_integer)
# 从列表中随机选择元素
random_element = random.choice(["apple", "banana", "cherry"])
print("Random Element:", random_element)

「json 模块」

专门用来处理 JSON 格式数据

import json
# 将字典转换为 JSON 格式的字符串
data = {"name": "Alice", "age": 25}
json_string = json.dumps(data)
print("JSON String:", json_string)
# 将 JSON 格式的字符串转换为字典
parsed_data = json.loads(json_string)
print("Parsed Data:", parsed_data)

「collections 模块」

提供了一些除list、dict之外有用的数据容器,比如 defaultdict、Counter 等

from collections import defaultdict, Counter
# 创建默认字典
word_counts = defaultdict(int)
words = ["apple", "banana", "apple", "cherry", "banana", "apple"]
for word in words:
    word_counts[word] += 1
print("Word Counts:", word_counts)
# 统计元素出现的次数
element_counts = Counter(words)
print("Element Counts:", element_counts)

「csv 模块」

专门用于处理逗号分隔值(CSV)文件

import re
# 查找匹配的字符串
pattern = r"\d+"
text = "There are 123 apples and 456 oranges."
matches = re.findall(pattern, text)
print("Matches:", matches)

「sys 模块」

提供了与Python解释器交互的功能,例如访问命令行参数

import sys
# 获取命令行参数
arguments = sys.argv
print("Command-line Arguments:", arguments)

常用的第三方模块,十几万个

Python之所以这么受欢迎,很大一部分原因得益于强大的第三方工具生态,几乎各个领域都有对应的模块可以使用。

比如

  • 数据科学领域:pandas、numpy、scipy、sympy
  • 可视化领域:matplotlib、seaborn、plotly、bokeh、pyecharts
  • 机器学习领域:scikit-learn、keras、Tensorflow
  • 大数据领域:pyspark、pyflink
  • 爬虫领域:requests、scrapy、bs4
  • 金融量化领域:ta-lib、zipline、pyfolio

其他各领域都有相应的模块可以使用,这里就不一一列举

2b84b9ee3a3028428912283fbab3348f.jpg

目录
相关文章
|
1月前
|
Python
[oeasy]python057_如何删除print函数_dunder_builtins_系统内建模块
本文介绍了如何删除Python中的`print`函数,并探讨了系统内建模块`__builtins__`的作用。主要内容包括: 1. **回忆上次内容**:上次提到使用下划线避免命名冲突。 2. **双下划线变量**:解释了双下划线(如`__name__`、`__doc__`、`__builtins__`)是系统定义的标识符,具有特殊含义。
32 3
|
2月前
|
Python
Python Internet 模块
Python Internet 模块。
133 74
|
3月前
|
算法 数据安全/隐私保护 开发者
马特赛特旋转算法:Python的随机模块背后的力量
马特赛特旋转算法是Python `random`模块的核心,由松本真和西村拓士于1997年提出。它基于线性反馈移位寄存器,具有超长周期和高维均匀性,适用于模拟、密码学等领域。Python中通过设置种子值初始化状态数组,经状态更新和输出提取生成随机数,代码简单高效。
141 63
|
3月前
|
持续交付 Python
如何在Python中自动解决模块和包的依赖冲突?
完全自动解决所有依赖冲突可能并不总是可行,特别是在复杂的项目中。有时候仍然需要人工干预和判断。自动解决的方法主要是提供辅助和便捷,但不能完全替代人工的分析和决策😉。
|
3月前
|
测试技术 Python
手动解决Python模块和包依赖冲突的具体步骤是什么?
需要注意的是,手动解决依赖冲突可能需要一定的时间和经验,并且需要谨慎操作,避免引入新的问题。在实际操作中,还可以结合使用其他方法,如虚拟环境等,来更好地管理和解决依赖冲突😉。
|
3月前
|
数据可视化 Python
如何在Python中解决模块和包的依赖冲突?
解决模块和包的依赖冲突需要综合运用多种方法,并且需要团队成员的共同努力和协作。通过合理的管理和解决冲突,可以提高项目的稳定性和可扩展性
|
3月前
|
开发者 Python
如何在Python中管理模块和包的依赖关系?
在实际开发中,通常会结合多种方法来管理模块和包的依赖关系,以确保项目的顺利进行和可维护性。同时,要及时更新和解决依赖冲突等问题,以保证代码的稳定性和可靠性
158 62
|
3月前
|
Python
Python的模块和包
总之,模块和包是 Python 编程中非常重要的概念,掌握它们可以帮助我们更好地组织和管理代码,提高开发效率和代码质量
133 61
|
3月前
|
JavaScript 前端开发 Python
python中的OS模块的基本使用
欢迎来到瑞雨溪的博客,一名热爱JavaScript与Vue的大一学生。博客分享前端技术及全栈开发经验,持续更新中,期待您的关注和支持!🎉🎉🎉
51 0
|
3月前
|
JavaScript 前端开发 Python
python中的platform模块的基本使用
欢迎来到瑞雨溪的博客,一名热爱JavaScript与Vue的大一学生。博客分享前端技术,助你成长。关注我,持续更新中!🎉🎉🎉
47 0

热门文章

最新文章

推荐镜像

更多