包含编程资料、学习路线图、源代码、软件安装包等!【[点击这里]】!
Python内置库无需额外安装,开箱即用,能够帮助我们高效便捷地完成各种编程任务。本文将带你深入了解Python中一些最常用、最实用的内置库,让你对Python的强大之处有更深刻的认识,并能更好地运用它们来解决实际问题。
一、 核心工具箱:基础操作与数据处理
os 模块:操作系统接口
- os 模块提供了与操作系统交互的各种函数,让你能够轻松地进行文件和目录操作、进程管理、环境变量访问等。
import os
current_dir = os.getcwd()
print(f"当前工作目录: {current_dir}")
os.makedirs("new_directory", exist_ok=True)
files_and_dirs = os.listdir(current_dir)
print(f"当前目录下文件和目录: {files_and_dirs}")
path_exists = os.path.exists("new_directory")
print(f"new_directory 路径是否存在: {path_exists}")
os.rmdir("new_directory")
sys 模块:系统相关信息
- sys 模块提供了访问和控制Python运行时环境的功能,例如获取命令行参数、标准输入输出、Python解释器版本等。
import sys
print(f"命令行参数: {sys.argv}")
print(f"Python版本: {sys.version}")
print(f"操作系统平台: {sys.platform}")
常用功能: 命令行参数获取、标准输入/输出重定向、Python解释器版本信息、操作系统平台信息、程序退出等。
datetime 模块:日期和时间处理
- datetime 模块提供了处理日期和时间的类,例如 date (日期)、time (时间)、datetime (日期时间)、timedelta (时间间隔) 等。
import datetime
now = datetime.datetime.now()
print(f"当前日期和时间: {now}")
today = datetime.date.today()
print(f"当前日期: {today}")
formatted_datetime = now.strftime("%Y-%m-%d %H:%M:%S")
print(f"格式化后的日期时间: {formatted_datetime}")
specific_datetime = datetime.datetime(2023, 10, 26, 10, 30, 0)
print(f"指定日期时间: {specific_datetime}")
time_delta = datetime.timedelta(days=7)
future_date = today + time_delta
print(f"7天后的日期: {future_date}")
常用功能: 日期和时间对象的创建、格式化、解析、计算、比较等。
time 模块:时间相关功能
- time 模块提供了与时间相关的各种函数,例如获取时间戳、暂停程序执行、时间格式转换等。
import time
timestamp = time.time()
print(f"当前时间戳: {timestamp}")
time.sleep(2)
print("程序暂停2秒后继续执行")
local_time_tuple = time.localtime(timestamp)
print(f"本地时间元组: {local_time_tuple}")
formatted_time = time.strftime("%Y-%m-%d %H:%M:%S", local_time_tuple)
print(f"格式化后的时间字符串: {formatted_time}")
常用功能: 获取时间戳、暂停程序执行、时间格式转换 (时间戳、时间元组、字符串之间转换)、计时等。
math 模块:数学运算
- math 模块提供了各种数学函数,例如三角函数、指数函数、对数函数、常数 (π, e) 等。
import math
sqrt_value = math.sqrt(16)
print(f"16的平方根: {sqrt_value}")
sin_value = math.sin(math.pi / 2)
print(f"sin(π/2): {sin_value}")
log_value = math.log(math.e)
print(f"log(e): {log_value}")
print(f"π: {math.pi}")
print(f"e: {math.e}")
常用功能: 数学运算 (三角函数、指数函数、对数函数、幂运算、取整等)、数学常数 (π, e) 等。
random 模块:随机数生成
- random 模块提供了各种随机数生成函数,可以生成整数、浮点数、序列随机元素等。
import random
random_float = random.random()
print(f"随机浮点数 (0-1): {random_float}")
random_int = random.randint(1, 10)
print(f"随机整数 (1-10): {random_int}")
my_list = [1, 2, 3, 4, 5]
random_element = random.choice(my_list)
print(f"随机选择的元素: {random_element}")
random.shuffle(my_list)
print(f"打乱顺序后的列表: {my_list}")
常用功能: 生成随机数 (整数、浮点数)、序列随机元素选择、序列随机打乱顺序等。
collections 模块:扩展数据类型
- collections 模块提供了一些除了基本数据类型 (list, tuple, dict, set) 之外的、更高级的数据类型,例如 Counter (计数器)、defaultdict (默认字典)、deque (双端队列) 等。
from collections
import Counter, defaultdict, deque
word_list = ["apple", "banana", "apple", "orange", "banana", "apple"]
word_counts = Counter(word_list)
print(f"单词计数: {word_counts}")
my_default_dict = defaultdict(int)
print(f"默认字典访问不存在的键: {my_default_dict['key1']}")
my_default_dict['key2'] += 1
print(f"默认字典赋值后: {my_default_dict}")
my_deque = deque([1, 2, 3])
my_deque.append(4)
my_deque.appendleft(0)
print(f"双端队列添加元素后: {my_deque}")
my_deque.pop()
my_deque.popleft()
print(f"双端队列删除元素后: {my_deque}")
常用数据类型: Counter, defaultdict, deque, namedtuple (命名元组), OrderedDict (有序字典) 等。
itertools 模块:迭代器工具
- itertools 模块提供了一系列用于创建和操作迭代器的函数,可以高效地处理序列数据,特别是在处理大数据集时非常有用。
import itertools
counter = itertools.count(start=1, step=2)
for _ in range(5):
print(next(counter))
cycle_iterator = itertools.cycle(["A", "B", "C"])
for _ in range(5):
print(next(cycle_iterator))
combinations_iterator = itertools.combinations([1, 2, 3], 2)
for combination in combinations_iterator:
print(combination)
chain_iterator = itertools.chain([1, 2], [3, 4], [5, 6])
for item in chain_iterator:
print(item)
常用迭代器: count, cycle, repeat, chain, combinations, permutations, product 等。
functools 模块:高阶函数工具
- functools 模块提供了一些用于操作函数的高阶函数,例如 partial (偏函数)、wraps (装饰器辅助函数)、lru_cache (缓存装饰器) 等。
import functools
def power(base, exponent):
return base ** exponent
square = functools.partial(power, exponent=2)
cube = functools.partial(power, exponent=3)
print(f"平方(3): {square(3)}")
print(f"立方(3): {cube(3)}")
@functools.lru_cache(maxsize=None)
def fibonacci(n):
if n <= 1:
return n
return fibonacci(n-1) + fibonacci(n-2)
print(f"斐波那契数列(10): {fibonacci(10)}")
常用高阶函数: partial, wraps, lru_cache, reduce (在 Python 3 中已移至 functools 模块) 等.
二、 数据交换与格式化
json 模块:JSON 数据处理
- json 模块用于处理 JSON (JavaScript Object Notation) 数据格式,JSON 是一种轻量级的数据交换格式,常用于 Web API 和数据存储。
import json
python_dict = {"name": "Alice", "age": 30, "city": "New York"}
json_string = json.dumps(python_dict)
print(f"Python字典转JSON字符串: {json_string}")
json_data = '{"name": "Bob", "age": 25, "city": "London"}'
python_dict_from_json = json.loads(json_data)
print(f"JSON字符串转Python字典: {python_dict_from_json}")
with open("data.json", "w") as f:
json.dump(python_dict, f)
with open("data.json", "r") as f:
data_from_json = json.load(f)
print(f"从JSON文件读取数据: {data_from_json}")
常用功能: JSON 字符串和 Python 对象 (字典、列表) 之间的相互转换、JSON 文件读写。
csv 模块:CSV 文件处理
- csv 模块用于处理 CSV (Comma Separated Values) 文件,CSV 是一种常用的文本格式,用于存储表格数据。
import csv
data = [
["Name", "Age", "City"],
["Alice", 30, "New York"],
["Bob", 25, "London"]
]
with open("data.csv", "w", newline="") as f:
csv_writer = csv.writer(f)
csv_writer.writerows(data)
with open("data.csv", "r") as f:
csv_reader = csv.reader(f)
for row in csv_reader:
print(row)
常用功能: CSV 文件读写、不同分隔符支持、字典形式的 CSV 数据读写等。
re 模块:正则表达式
- re 模块提供了正则表达式操作,用于进行字符串匹配、查找、替换等高级文本处理。
import re
text = "Hello, world! My email is example@domain.com."
email_pattern = r"\b[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}\b"
email_match = re.search(email_pattern, text)
if email_match:
print(f"找到邮箱地址: {email_match.group()}")
word_pattern = r"\b\w+\b"
word_matches = re.findall(word_pattern, text)
print(f"所有单词: {word_matches}")
replaced_text = re.sub(email_pattern, "[邮箱地址已屏蔽]", text)
print(f"替换后的文本: {replaced_text}")
常用功能: 字符串匹配 (search, match, findall)、字符串替换 (sub, subn)、字符串分割 (split) 等。
三、 网络与互联网
urllib 模块:URL 处理
- urllib 模块提供了一系列用于处理 URL (Uniform Resource Locator) 的函数,可以进行 URL 解析、请求网页、下载文件等。
import urllib.request
import urllib.parse
url = "https://www.example.com/path?query=string#fragment"
parsed_url = urllib.parse.urlparse(url)
print(f"解析后的URL: {parsed_url}")
try:
response = urllib.request.urlopen("https://www.example.com")
html_content = response.read().decode("utf-8")
print(f"网页内容 (前100字符): {html_content[:100]}...")
except urllib.error.URLError as e:
print(f"请求网页失败: {e}")
image_url = "https://www.python.org/static/community_logos/python-logo-master-v3-TM.png"
try:
urllib.request.urlretrieve(image_url, "python_logo.png")
print("图片下载完成: python_logo.png")
except urllib.error.URLError as e:
print(f"图片下载失败: {e}")
常用子模块: urllib.request (发送 HTTP 请求), urllib.parse (URL 解析), urllib.error (异常处理) 等。
四、 其他常用模块
除了以上介绍的模块,Python 还有许多其他有用的内置库,例如:
- pathlib 模块 (Python 3.4+): 更现代、面向对象的路径操作模块,比 os.path 更易用。
- shutil 模块: 高级文件操作模块,例如文件和目录的复制、移动、压缩等。
- zipfile 模块: ZIP 文件压缩和解压缩。
- gzip 模块: gzip 压缩和解压缩。
- argparse 模块: 命令行参数解析,用于编写命令行工具。
- logging 模块: 日志记录,用于程序调试和错误追踪。
- unittest 模块: 单元测试框架,用于编写和运行测试用例。
结语
Python 的内置库是其强大功能的基石,它们涵盖了各种编程领域,能够极大地提高我们的开发效率。

总结
- 最后希望你编程学习上不急不躁,按照计划有条不紊推进,把任何一件事做到极致,都是不容易的,加油,努力!相信自己!
文末福利
- 最后这里免费分享给大家一份Python全套学习资料,希望能帮到那些不满现状,想提升自己却又没有方向的朋友,也可以和我一起来学习交流呀。
包含编程资料、学习路线图、源代码、软件安装包等!【[点击这里]】领取!
- ① Python所有方向的学习路线图,清楚各个方向要学什么东西
- ② 100多节Python课程视频,涵盖必备基础、爬虫和数据分析
- ③ 100多个Python实战案例,学习不再是只会理论
- ④ 华为出品独家Python漫画教程,手机也能学习
可以扫描下方二维码领取【保证100%免费】