Python 拥有一个丰富的标准库,这些库提供了各种功能,从基本的数据处理到复杂的系统操作,覆盖了编程的各个领域。掌握这些内置库,可以让你在开发中更加得心应手,提高效率,避免重复造轮子。今天,就让我们一起了解一下 Python 中必会的 20 个内置库。

一、基础操作类库

(一)os

用于操作操作系统相关功能,如文件路径操作、进程管理和环境变量设置。

import os
print(os.getcwd())  # 获取当前工作目录
os.mkdir("test_dir")  # 创建目录

(二)sys

提供了对 Python 解释器相关操作的访问,如参数解析和路径操作。

import sys
print(sys.argv)  # 打印命令行参数

(三)math

提供数学相关函数,如三角函数、对数函数和常数 π 等。

import math
print(math.pi)  # 输出圆周率
print(math.sqrt(16))  # 输出 4.0

(四)random

用于生成随机数,支持多种分布。

import random
print(random.randint(1, 10))  # 输出 1 到 10 的随机整数

二、数据处理类库

(五)json

用于处理 JSON 数据,支持 JSON 编码和解码。

import json
data = {"key": "value"}
json_str = json.dumps(data)  # 编码为 JSON 字符串
print(json_str)  # 输出 '{"key": "value"}'

(六)csv

用于读写 CSV 文件,支持基本的表格数据操作。

import csv
with open('example.csv', 'r') as file:
    reader = csv.reader(file)
    for row in reader:
        print(row)

(七)datetime

处理日期和时间,提供丰富的日期时间操作。

from datetime import datetime
now = datetime.now()
print(now.strftime("%Y-%m-%d %H:%M:%S"))  # 格式化输出当前时间

(八)collections

提供了额外的数据结构,如 CounterdequeOrderedDict

from collections import Counter
print(Counter([1, 2, 2, 3, 3, 3]))  # 输出 Counter({3: 3, 2: 2, 1: 1})

三、网络与 I/O 类库

(九)requests

处理 HTTP 请求,方便进行网络数据交互。

import requests
response = requests.get('https://api.github.com')
print(response.json())  # 打印响应的 JSON 数据

(十)socket

用于网络编程,支持低层次的网络通信。

import socket
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.connect(('example.com', 80))
sock.sendall(b"GET / HTTP/1.1\r\nHost: example.com\r\n\r\n")
data = sock.recv(1024)
print(data.decode())
sock.close()

(十一)io

提供输入输出流的操作,用于处理文件和数据流。

import io
stream = io.StringIO("Hello, World!")
print(stream.read())  # 输出 'Hello, World!'

四、系统与运行时类库

(十二)threading

用于多线程编程,方便同时处理多个任务。

import threading
def worker():
    print("Worker is running.")
thread = threading.Thread(target=worker)
thread.start()
thread.join()

(十三)multiprocessing

用于多进程编程,绕过全局解释器锁(GIL),提高 CPU 利用率。

import multiprocessing
def worker():
    print("Worker is running.")
process = multiprocessing.Process(target=worker)
process.start()
process.join()

(十四)logging

提供灵活的日志记录功能,用于记录程序运行状态。

import logging
logging.basicConfig(level=logging.INFO)
logging.info("This is an info message.")

(十五)argparse

用于解析命令行参数,方便创建命令行工具。

import argparse
parser = argparse.ArgumentParser(description="Example program.")
parser.add_argument('--foo', help='foo help')
args = parser.parse_args()
print(args.foo)

五、工具与实用类库

(十六)functools

提供高阶函数,如 reducepartial,用于函数式编程。

import functools
print(functools.reduce(lambda x, y: x + y, [1, 2, 3, 4]))  # 输出 10

(十七)itertools

提供迭代器的高级操作,如组合、排列和无限序列。

import itertools
print(list(itertools.permutations([1, 2, 3])))  # 输出 [(1, 2, 3), (1, 3, 2), (2, 1, 3), (2, 3, 1), (3, 1, 2), (3, 2, 1)]

(十八)operator

提供各种操作符的函数形式,方便在函数式编程中使用。

import operator
print(operator.add(1, 2))  # 输出 3

(十九)re

用于正则表达式操作,支持模式匹配、查找和替换。

import re
print(re.findall(r'\d+', '12 apples, 34 bananas'))  # 输出 ['12', '34']

(二十)time

提供时间相关函数,如时间获取和转换。

import time
print(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()))  # 格式化输出当前时间

六、总结

通过这篇文章,你已经了解了 Python 中必会的 20 个内置库,从基础操作到数据处理,从网络通信到系统管理,这些库覆盖了编程的各个方面。掌握这些库,可以帮助你高效地解决各种编程问题,提高开发效率。

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐