当前位置:   article > 正文

Python的22个常用模块_python模块

python模块

Python拥有丰富的标准库和第三方库,这些模块极大地扩展了Python的功能,使其在各种应用场景中都能发挥重要作用。下面我将列出一些常用的Python模块及其简单代码案例,帮助你更好地理解和使用它们。

1. os - 操作系统接口

功能:提供了一系列与操作系统交互的函数,如文件操作、进程管理等。

代码案例:列出当前目录下的所有文件和文件夹

import os

for item in os.listdir('.'):
    print(item)
  • 1
  • 2
  • 3
  • 4
'
运行

2. sys - 系统特定功能

功能:提供访问和使用Python解释器的一些函数,常用于处理命令行参数、退出程序等。

代码案例:打印Python解释器的版本信息并退出程序

import sys

print("Python version:", sys.version)
sys.exit()
  • 1
  • 2
  • 3
  • 4
'
运行

3. json - JSON数据处理

功能:用于编码和解码JSON数据格式。

代码案例:将Python对象转换为JSON字符串并输出

import json

data = {
    "name": "Alice",
    "age": 30,
    "city": "New York"
}

json_str = json.dumps(data)
print(json_str)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
'
运行

4. requests - HTTP库

功能:发送HTTP请求,广泛用于网络爬虫和API交互。

代码案例:发送GET请求获取网页内容

import requests

response = requests.get('https://api.github.com')
print(response.text)
  • 1
  • 2
  • 3
  • 4

5. pandas - 数据分析

功能:提供高性能、易用的数据结构和数据分析工具。

代码案例:读取CSV文件并显示前几行数据

import pandas as pd

df = pd.read_csv('example.csv')
print(df.head())
  • 1
  • 2
  • 3
  • 4

6. numpy - 数值计算

功能:强大的数学库,支持大型多维数组和矩阵运算。

代码案例:创建一个数组并进行简单运算

import numpy as np

arr = np.array([1, 2, 3])
print(arr * 2)
  • 1
  • 2
  • 3
  • 4
'
运行

7. matplotlib - 数据可视化

功能:绘制静态、动态、交互式的图表。

代码案例:绘制简单的线图

import matplotlib.pyplot as plt

x = [1, 2, 3, 4]
y = [10, 15, 13, 17]

plt.plot(x, y)
plt.xlabel('X axis')
plt.ylabel('Y axis')
plt.title('Simple Plot')
plt.show()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
'
运行

8. datetime - 时间日期处理

功能:处理日期和时间。

代码案例:获取当前时间和格式化输出

from datetime import datetime

now = datetime.now()
print("Current date and time:", now.strftime("%Y-%m-%d %H:%M:%S"))
  • 1
  • 2
  • 3
  • 4
'
运行

9. re - 正则表达式

功能:处理正则表达式,用于字符串的匹配、查找、替换等操作。

代码案例:使用正则表达式查找所有邮箱地址

import re

text = "联系我:email@example.com 或 support@example.org"
emails = re.findall(r'\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}\b', text)

print(emails)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
'
运行

10. threading - 多线程

功能:提供了对线程的支持,允许同时执行多个任务。

代码案例:创建两个线程分别打印序列

import threading
import time

def print_numbers():
    for i in range(5):
        print(i, end=' ')
        time.sleep(0.5)

def print_letters():
    for letter in 'abcde':
        print(letter, end=' ')
        time.sleep(1)

t1 = threading.Thread(target=print_numbers)
t2 = threading.Thread(target=print_letters)

t1.start()
t2.start()

t1.join()
t2.join()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
'
运行

11. hashlib - 安全哈希和消息摘要

功能:提供安全相关的哈希函数,如MD5、SHA等,用于数据校验和加密。

代码案例:计算字符串的MD5哈希值

import hashlib

str_to_hash = "Hello, World!"
hash_object = hashlib.md5(str_to_hash.encode())
hex_dig = hash_object.hexdigest()

print(hex_dig)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
'
运行

12. flask - 微型Web框架

功能:轻量级的Web服务器网关接口(WSGI)Web应用框架。

代码案例:创建一个简单的Web应用,返回"Hello, World!"

from flask import Flask

app = Flask(__name__)

@app.route('/')
def hello_world():
    return 'Hello, World!'

if __name__ == '__main__':
    app.run()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

13. sqlalchemy - SQL工具包和ORM系统

功能:提供SQLAlchemy ORM,用于与SQL数据库交互,支持多种数据库后端。

代码案例:连接SQLite数据库并查询数据

from sqlalchemy import create_engine, MetaData, Table, select
from sqlalchemy.orm import sessionmaker

engine = create_engine('sqlite:///example.db', echo=True)
Session = sessionmaker(bind=engine)
session = Session()

metadata = MetaData()
users = Table('users', metadata, autoload_with=engine)

stmt = select(users)
result = session.execute(stmt)
for row in result:
    print(row)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

14. tensorflow - 机器学习库

功能:Google开发的开源机器学习框架,广泛应用于深度学习模型的构建、训练和推理。

代码案例:使用TensorFlow创建一个简单的线性模型

import tensorflow as tf
import numpy as np

# 创建数据集
x_data = np.random.rand(100).astype(np.float32)
y_data = x_data * 0.1 + 0.3

# 定义变量
Weights = tf.Variable(tf.random.uniform([1], -1.0, 1.0))
biases = tf.Variable(tf.zeros([1]))

# 定义模型
y = Weights*x_data + biases

# 定义损失函数
loss = tf.reduce_mean(tf.square(y-y_data))

# 定义优化器
optimizer = tf.optimizers.SGD(0.5)

# 训练模型
for step in range(201):
    optimizer.minimize(loss, var_list=[Weights, biases])
    if step % 20 == 0:
        print(step, Weights.numpy(), biases.numpy())
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25

15. scikit-learn - 机器学习库

功能:提供了简单高效的数据挖掘和数据分析工具,包括分类、回归、聚类等多种算法。

代码案例:使用scikit-learn进行简单线性回归

from sklearn.model_selection import train_test_split 
from sklearn.linear_model import LinearRegression
from sklearn import datasets

# 加载波士顿房价数据集
boston = datasets.load_boston()
X = boston.data
y = boston.target

# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# 创建并训练模型
model = LinearRegression()
model.fit(X_train, y_train)

# 预测并打印分数
score = model.score(X_test, y_test)
print("模型得分: %.2f%%" % (score*100))
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19

16. pillow - 图像处理

功能:Pillow是PIL(Python Imaging Library)的一个派生,提供了丰富的图像处理功能。

代码案例:打开一个图片,将其尺寸缩小一半,并保存新图片

from PIL import Image

# 打开图片
with Image.open('example.jpg') as img:
    # 缩小图片
    img_resized = img.resize((img.width // 2, img.height // 2))
    # 保存新图片
    img_resized.save('example_resized.jpg')
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

17. scrapy - 网络爬虫框架

功能:用于抓取网页内容并提取结构化数据的框架,适用于数据挖掘、监测等场景。

代码案例:Scrapy简单爬虫示例(仅展示基本结构,完整运行需根据目标网站调整)

import scrapy

class MySpider(scrapy.Spider):
    name = 'myspider'
    start_urls = ['http://www.example.com/']

    def parse(self, response):
        page_title = response.css('title::text').get()
        yield {'title': page_title}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

请注意,实际使用时,应遵守网站的robots.txt规则和相关法律法规,尊重网站版权和隐私政策。

18. PyQt / PySide - GUI开发

功能:这两者都是用于创建图形用户界面(GUI)的库,基于Qt框架。PyQt是社区支持的版本,而PySide由Qt公司官方维护。

代码案例:使用PyQt5创建一个简单的窗口

from PyQt5.QtWidgets import QApplication, QWidget

# 创建应用程序对象
app = QApplication([])

# 创建窗口
window = QWidget()
window.setWindowTitle('My First PyQt App')

# 显示窗口
window.show()

# 进入主事件循环
app.exec_()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

19. asyncio - 异步I/O、并发编程

功能:Python中的异步编程库,用于编写单线程并发代码,利用协程、事件循环等机制处理并发任务。

代码案例:异步下载网页

import asyncio
import aiohttp

async def fetch(session, url):
    async with session.get(url) as response:
        return await response.text()

async def main():
    async with aiohttp.ClientSession() as session:
        html = await fetch(session, 'https://www.example.com')
        print(html[:100])

# 运行异步函数
loop = asyncio.get_event_loop()
loop.run_until_complete(main())
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

20. beautifulsoup4 - HTML和XML解析

功能:一个用于解析HTML和XML文档的库,常用于网络爬虫中提取数据。

代码案例:解析HTML页面,提取标题

from bs4 import BeautifulSoup
import requests

url = 'https://www.example.com'
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')

title = soup.find('title').text
print(title)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

21. seaborn - 统计图形库

功能:基于matplotlib,提供了高级接口用于绘制统计图形,使得数据可视化更加美观和直观。

代码案例:绘制散点图矩阵

import seaborn as sns
import pandas as pd

# 载入内置数据集
iris = sns.load_dataset("iris")

# 绘制散点图矩阵
sns.pairplot(iris, hue="species")
plt.show()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

22. joblib - 并行计算和持久化

功能:用于大规模数据处理、机器学习任务中的轻量级并行处理和重复计算结果的缓存。

代码案例:并行计算两个列表的乘积

from joblib import Parallel, delayed

def multiply(x, y):
    return x * y

numbers1 = [1, 2, 3, 4]
numbers2 = [5, 6, 7, 8]

results = Parallel(n_jobs=2)(delayed(multiply)(x, y) for x, y in zip(numbers1, numbers2))
print(results)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

这些模块和库展示了Python在机器学习、数据科学、图像处理、网络爬虫等多个领域的广泛应用。通过不断学习和实践,你可以更加灵活地运用这些工具来解决实际问题。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/894547
推荐阅读
相关标签
  

闽ICP备14008679号