0基础学习python库的使用

标准库的介绍与导入

Python 标准库是 Python 官方自带的模块集合,涵盖多种功能,无需额外安装即可使用,是 Python 编程的基础工具集。

标准库的导入方法主要有以下几种,附代码示例:

  • 直接导入整个模块
import random

print(random.random()) # 调用格式:模块名.方法名
  • 导入模块中的特定方法
from time import sleep

sleep(2) # 调用格式:直接用方法名
  • 导入模块并指定别名
import re as regex

print(regex.match(r'abc', 'abcdef')) # 调用格式:别名.方法名

本文将精简介绍 Python 标准库中随机库(random)、时间库(time)和正则表达式库(re)的核心方法,并附代码示例,同时说明各库使用时需注意的点。

随机库(random)

用于生成随机数,适用于多种随机场景。

  • random.random():返回 [0,1) 的浮点数。
import random

print(random.random()) # 示例输出:0.6789012345
  • random.randint(a, b):生成 [a,b] 范围内的整数。
print(random.randint(1, 10)) # 示例输出:5
  • random.choice(seq):从序列中随机选一个元素。
print(random.choice(['apple', 'banana', 'orange'])) # 示例输出:banana
  • random.shuffle(seq):就地打乱序列元素。
lst = [1, 2, 3, 4, 5]

random.shuffle(lst)

print(lst) # 示例输出:[3, 1, 5, 2, 4]
  • random.sample(population, k):从总体中抽取 k 个不重复元素。
print(random.sample([1, 2, 3, 4, 5], 2)) # 示例输出:[3, 5]

注意点

  • random 库生成的是伪随机数,其生成依赖于初始种子,若种子相同,生成的随机数序列也相同。可通过random.seed()设置种子,如random.seed(10),设置后每次程序运行,随机数生成结果会固定。
  • 使用random.shuffle(seq)时,该方法会直接修改原序列,无法作用于不可变序列(如元组、字符串),否则会报错。
  • random.sample(population, k)中,k 的值不能大于 population 的长度,否则会引发 ValueError。

时间库(time)

处理时间相关操作,如获取时间、格式化等。

  • time.time():返回自 1970 年 1 月 1 日 00:00:00 UTC 以来的秒数(时间戳)。
import time

print(time.time()) # 示例输出:1720507836.123456
  • time.localtime([secs]):将时间戳转为本地时间的 struct_time 对象。
local_time = time.localtime()

print(local_time.tm_year, local_time.tm_mon) # 示例输出:2025 7
  • time.strftime(format[, t]):将 struct_time 对象按格式转为字符串。
print(time.strftime('%Y-%m-%d %H:%M:%S')) # 示例输出:2025-07-09 16:30:45
  • time.sleep(secs):使程序暂停 secs 秒。
time.sleep(2) # 程序暂停2秒

注意点

  • time.time()返回的时间戳受系统时间影响,若系统时间被修改,其返回值也会相应变化。
  • time.localtime()转换后的本地时间会考虑时区因素,不同时区转换结果不同。
  • time.strftime()中,格式符必须严格按照规定使用,若使用不存在的格式符,会抛出 ValueError。例如,使用%y表示两位数年份,若误写为%Y1,则会出错。
  • time.sleep(secs)的暂停时间只是近似值,受系统调度等因素影响,实际暂停时间可能略长于指定的 secs。

正则表达式库(re)

用于字符串的模式匹配、搜索、替换等。

  • re.match(pattern, string, flags=0):从字符串起始位置匹配模式。
import re

print(re.match(r'abc', 'abcdef')) # 示例输出:<re.Match object; span=(0, 3), match='abc'>

print(re.match(r'abc', 'xabcdef')) # 输出:None
  • re.search(pattern, string, flags=0):在整个字符串中搜索第一个匹配模式的位置。
print(re.search(r'abc', 'xabcdef')) # 示例输出:<re.Match object; span=(1, 4), match='abc'>
  • re.findall(pattern, string, flags=0):找到所有匹配模式的子串,返回列表。
print(re.findall(r'\d+', 'abc123def456')) # 输出:['123', '456']
  • re.sub(pattern, repl, string, count=0, flags=0):替换匹配模式的子串。
print(re.sub(r'\d+', '*', 'abc123def456')) # 输出:abc*def*
  • re.compile(pattern, flags=0):编译正则表达式模式为对象,提高效率。
pattern = re.compile(r'\d+')

print(pattern.findall('abc123def456')) # 输出:['123', '456']

注意点

  • re.match()只从字符串开头匹配,若字符串开头不满足模式,则匹配失败;而re.search()会在整个字符串中查找,二者功能不同,使用时需注意区分。
  • 正则表达式中的特殊字符(如.、*、+、?等)需要转义才能表示其本身含义,可在特殊字符前加\,例如要匹配.,需写成\.。
  • re.findall()返回的列表中元素的顺序与匹配到的子串在原字符串中的顺序一致。
  • 使用re.compile()编译正则表达式后,生成的对象可以重复使用,对于多次使用同一模式的场景,能提高执行效率。
  • re.sub()中,repl 可以是一个函数,该函数会接收匹配对象作为参数,并返回替换后的字符串,这为复杂替换提供了灵活性。

第三方库

第三方库的介绍

第三方库是由全球开发者社区开发并分享的 Python 模块,它们能够满足各种特定且复杂的需求,极大地扩展了 Python 的功能。与标准库不同,第三方库并非 Python 自带,需要先安装才能使用,其丰富性和专业性让开发者能更高效地完成各类专业任务。

不同领域的第三方库

  • 网络请求与爬虫领域:除了 requests 库,还有 Scrapy,它是一个强大的爬虫框架,能高效地爬取网站数据并进行处理;Beautiful Soup 则专注于解析 HTML 和 XML 文档,方便提取其中的信息。
  • 数据分析与科学计算领域:除了 pandas 和 numpy,还有 SciPy,它基于 numpy,提供了更多的科学计算功能,如线性代数、傅里叶变换等;statsmodels 则用于统计建模和分析。
  • 数据可视化领域:除了 matplotlib,seaborn 基于 matplotlib,提供了更美观、更简洁的 API,能轻松绘制出更具吸引力的统计图表;Plotly 则支持交互式可视化,可生成动态的图表。
  • Web 开发领域:Django 是一个高级的 Web 框架,内置了许多功能,如 ORM、admin 后台等,适合快速开发复杂的 Web 应用;Flask 是一个轻量级的 Web 框架,灵活性高,适合小型应用和 API 开发。
  • 机器学习领域:scikit-learn 是一个简单高效的机器学习库,包含了多种分类、回归、聚类算法;TensorFlow 和 PyTorch 则是用于深度学习的框架,支持构建和训练复杂的神经网络模型。

第三方库的安装

第三方库的安装主要依靠包管理工具,其中 pip 是最常用的。安装方法如下:

  • 打开命令行工具(Windows 的 CMD 或 PowerShell,Mac 和 Linux 的终端)。
  • 输入安装命令:pip install 库名,例如安装 requests 库,输入pip install requests。
  • 对于需要指定版本的库,可使用pip install 库名==版本号,如pip install pandas==1.5.3。

安装报错的解决办法

  • 网络问题:若安装时出现网络超时等错误,可尝试更换国内镜像源。例如使用清华大学的镜像源安装 requests:pip install -i Simple Index requests。常用的国内镜像源还有阿里云、豆瓣等。
  • 权限问题:在部分系统中,可能会因权限不足导致安装失败,此时可在命令前加上sudo(Mac 和 Linux 系统),如sudo pip install requests;Windows 系统可右键命令行工具,选择 “以管理员身份运行” 后再执行安装命令。
  • 依赖冲突:不同库之间可能存在依赖冲突,可尝试升级 pip 工具:pip install --upgrade pip,再重新安装;若仍有问题,可考虑创建虚拟环境,在虚拟环境中安装所需库,避免与系统环境的库产生冲突。
  • 库版本与 Python 版本不兼容:某些库的新版本可能不支持当前使用的 Python 版本,可查看库的官方文档,确认支持的 Python 版本,然后安装对应的库版本,或升级 / 降级 Python 版本。

pip 工具的常用命令

  • pip list:列出当前环境中已安装的所有第三方库及其版本。
  • pip show 库名:显示指定库的详细信息,包括版本、安装路径、依赖等,如pip show requests。
  • pip install --upgrade 库名:升级指定的库到最新版本,如pip install --upgrade pandas。
  • pip uninstall 库名:卸载指定的库,如pip uninstall requests,执行后会提示确认,输入 y 即可卸载。
  • pip freeze > requirements.txt:将当前环境中已安装的库及其版本信息导出到 requirements.txt 文件中,方便在其他环境中重现该环境。
  • pip install -r requirements.txt:根据 requirements.txt 文件中的内容,安装所有指定的库及其对应版本。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值