我常用的几个经典Python模块

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

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

什么是Python模块?

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

常用内置模块,约200多个

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

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

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

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

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

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

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

总得来说,Python常用的模块非常多,还是要根据你的使用场景来选择,大家可以去Python官网、github上找相应的模块及教程。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 218,941评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,397评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 165,345评论 0 356
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,851评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,868评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,688评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,414评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,319评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,775评论 1 315
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,945评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,096评论 1 350
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,789评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,437评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,993评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,107评论 1 271
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,308评论 3 372
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,037评论 2 355

推荐阅读更多精彩内容