什么是Python中的库以及如何导入使用库

一、引言

Python被誉为“胶水语言”,不仅语法简洁,更重要的是它拥有极其丰富的生态系统。无论是做数据分析、Web开发、人工智能,还是自动化脚本,你几乎总能找到一个现成的工具来帮你完成任务——这些工具,就是我们常说的 “库(Library)”

但很多初学者在刚接触Python时,常常对“库”“模块”“包”这些概念感到困惑,也不知道该如何正确地导入和使用它们。本文将从零开始,带你搞清楚:

  • 什么是Python中的库?
  • 库有哪些类型?
  • 如何导入并使用它们?
  • 如何安装第三方库?

二、什么是Python中的库?

简单来说,库就是别人(或你自己)写好的代码集合,封装了特定功能,你可以直接调用,而无需从头编写。

比如:

  • 想发送一个HTTP请求?不用自己实现TCP协议,直接用 requests 库。
  • 想处理Excel表格?用 pandas 几行代码搞定。
  • 想生成随机数?标准库里的 random 模块就能做到。

库 vs 模块 vs 包

这三个概念经常被混用,但其实有细微区别:

名称说明
模块(Module)一个 .py 文件,比如 math.py,就是一个模块
包(Package)一个包含 __init__.py 文件的文件夹,里面可以包含多个模块
库(Library)通常指一组模块或包的集合,用于完成某类任务(如 NumPy、Requests)

三、Python库的分类

Python的库主要分为三类:

1. 标准库

  • 特点:随Python解释器一起安装,无需额外下载。
  • 常见例子
    • os:操作系统接口
    • sys:系统相关参数
    • json:处理JSON数据
    • datetime:日期时间操作
    • re:正则表达式

查看标准库:

一、官方文档

Python 官方为每个版本都提供了完整的标准库文档:

二、在 Python 交互环境中查看

方法1:使用 help('modules')

进入命令提示符在命令行输入 python 进入交互模式,然后运行:

help('modules')

这会列出当前 Python 环境中所有可导入的模块(包括标准库、已安装的第三方库、本地模块等)。

方法2:查看 sys.stdlib_module_names

从 Python 3.10 开始,标准库提供了一个专门的属性:

import sys print(sys.stdlib_module_names)

这将返回一个 frozenset,包含所有标准库模块的名称(不包括第三方或自定义模块),非常干净准确。


三、直接查看安装目录中的 Lib 文件夹

Python 的标准库大部分是以 .py 文件形式存放在安装目录的 Lib 文件夹中。

查找路径:

import sys print(sys.prefix) # Python 安装根目录

查找结果:

然后进入该目录下的 Lib/ 文件夹(Windows)或 lib/python3.x/(Linux/macOS)。

例如:

在这里你可以看到:

  • os.py
  • json/(包)
  • urllib/(包)
  • collections/
  • 等等

2. 第三方库

  • 特点:由社区或公司开发,需手动安装。
  • 安装方式:通常使用 pip 工具。
  • 常见例子
    • requests:HTTP请求
    • numpy / pandas:科学计算与数据分析
    • matplotlib:绘图
    • flask / django:Web开发

优势:功能强大、更新快、生态活跃。

3. 自定义库

  • 特点:你自己写的模块或包,用于项目内部复用。
  • 例如:你写了一个 utils.py 文件,里面包含常用函数,其他文件就可以导入使用。

四、如何导入和使用库?

Python提供了灵活的导入机制,以下是几种常用方式。

4.1 基本导入语法

方式1:import 模块名
import math print(math.sqrt(16)) # 输出:4.0
方式2:from 模块名 import 函数/类
from math import sqrt print(sqrt(16)) # 输出:4.0
方式3:from 模块名 import *
from math import * print(sqrt(16)) # 虽然能用,但会污染命名空间
为什么不推荐? 容易造成函数名冲突,降低代码可读性。
方式4:使用别名(as)
import numpy as np import pandas as pd arr = np.array([1, 2, 3])

这是行业惯例,简洁又清晰。

4.2 导入注意事项

  • 命名冲突:避免自定义函数与库函数同名。
  • 导入顺序(遵循 PEP8 规范):
    1. 标准库(如 import os
    2. 第三方库(如 import requests
    3. 本地/自定义模块(如 from .utils import helper
  • 避免循环导入:A模块导入B,B又导入A,会导致错误。

五、如何安装第三方库?

绝大多数第三方库通过 pip 安装(Python 3.4+ 默认自带)。

常用命令:

# 安装库 pip install requests # 批量安装(从 requirements.txt) pip install -r requirements.txt # 升级库 pip install --upgrade numpy # 卸载库 pip uninstall matplotlib # 查看已安装库 pip list

Pycharm中安装第三方库方法:

方法一:在终端中中输入命令直接安装

操作步骤:

  1. 打开 PyCharm 项目
  2. 在底部工具栏找到 Terminal(终端) 窗口(若未显示,可通过 View → Tool Windows → Terminal 打开)。

在终端中输入 pip 安装命令,例如:

pip install requests

或指定版本:

pip install numpy==1.26.4

示例:

方法二:通过 PyCharm 图形界面安装

操作步骤:

  1. 打开 PyCharm,进入 File → Settings
  2. 在左侧导航栏中依次展开:
    Project: [你的项目名] → Python Interpreter
  3. 在右侧的包列表上方,点击 + 号(Add Package)按钮。
  4. 在弹出的窗口中:
    • 在搜索框输入你想安装的库名(如 pandas);
    • 可选择版本(默认安装最新版);
    • 点击右下角 Install Package 按钮。
  5. 等待安装完成,关闭窗口。此时新安装的库会出现在解释器包列表中。

示例:


六、实战小例子

示例1:使用标准库 random

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

示例2:使用第三方库 requests

import requests response = requests.get("https://httpbin.org/get") print(response.status_code) # 输出:200
首次使用前需运行:pip install requests

示例3:自定义模块并导入

创建文件 greet.py

# greet.py def say_hello(name): return f"Hello, {name}!"

在另一个文件中导入:

from greet import say_hello print(say_hello("Alice")) # 输出:Hello, Alice!

七、常见问题与解答(FAQ)

Q1:报错 ModuleNotFoundError: No module named 'xxx' 怎么办?

A:说明该库未安装。如果是第三方库,请用 pip install xxx 安装;如果是自定义模块,请检查文件路径和当前工作目录。

Q2:如何查看某个库的版本?
A:

import numpy print(numpy.__version__)

或命令行:

pip show numpy

Q3:为什么有时候导入成功但函数不能用?
A:可能是拼写错误、作用域问题,或该函数属于子模块(如 matplotlib.pyplot 需要完整导入)。

Read more

48小时“烧光”56万!三人创业团队濒临破产,仅因Gemini API密钥被盗:“AI账单远超我们的银行余额”

48小时“烧光”56万!三人创业团队濒临破产,仅因Gemini API密钥被盗:“AI账单远超我们的银行余额”

整理 | 苏宓 出品 | ZEEKLOG(ID:ZEEKLOGnews) 「仅过了 48 小时,一笔 8.2 万美元的天价费用凭空出现,较这家小型初创公司的正常月费暴涨近 46000%。」 这不是假设的虚幻故事,而是一家墨西哥初创公司正在经历的真实危机。 近日,一位名为 RatonVaquero 的开发者在 Reddit 发帖求助称,由于他的 Gemini API 密钥被盗用,原本每月仅约 180 美元(约 1242 元)的费用,在短短 48 小时内暴涨到 82,314.44 美元(约 56.8 万元)。对于这家只有三名开发者的小型创业团队来说,这笔突如其来的账单,几乎等同于灭顶之灾。 “我现在整个人都处在震惊和恐慌之中。”RatonVaquero

By Ne0inhk
假网站排全网第二,真官网翻五页都找不到!NanoClaw创始人破防:SEO之战,我快要输了

假网站排全网第二,真官网翻五页都找不到!NanoClaw创始人破防:SEO之战,我快要输了

整理 | 苏宓 出品 | ZEEKLOG(ID:ZEEKLOGnews) 自从 OpenClaw 爆火之后,各种“Claw”项目接连出现,其中以安全优化版 NanoClaw 最为知名。它的核心代码仅有 4000 行,却获得了 AI 大牛 Andrej Karpathy 的点赞。 可谁也没想到,这款口碑极佳的开源项目,近来竟被一个仿冒网站抢了风头。 投诉无门之下,NanoClaw 创始人 Gavriel Cohen 在 X 社交平台上无奈发文怒斥:谷歌搜索错误地将假网站排在真官网前面,不仅破坏了项目声誉,还埋下了严重的安全隐患,而他费尽心力,却只能哀叹一句——“我正在为自己的开源项目打 SEO 战,但我快要输了。” 那么,NanoClaw 究竟发生了什么?又是怎么走红的?事情还要从 OpenClaw

By Ne0inhk
曝Windows 12将于今年发布?以AI为核心、NPU成「硬件门槛」,网友吐槽:“不想要的全塞进来了”

曝Windows 12将于今年发布?以AI为核心、NPU成「硬件门槛」,网友吐槽:“不想要的全塞进来了”

整理 | 郑丽媛 出品 | ZEEKLOG(ID:ZEEKLOGnews) 当年,微软一句“Windows 10 将是最后一个版本”的表态,让不少用户以为 Windows 进入了“只更新、不换代”的时代。但几年过去,现实却完全不同。 在 Windows 11 发布之后,如今关于 Windows 12 的传闻再次密集出现。从内部代号、代码片段,到硬件厂商的暗示与 OEM 预热标签,种种线索拼在一起,勾勒出一个明显的趋势——这不会只是一次常规升级,而更像是一次围绕 AI 的平台级重构。 更关键的是,这次争议,可能远比当年 TPM 2.0 更大。 精准卡位 Windows 10 退场的时间?

By Ne0inhk
Python热度下滑、AI能取代搜索引擎?TIOBE最新榜单揭晓!

Python热度下滑、AI能取代搜索引擎?TIOBE最新榜单揭晓!

整理 | 屠敏 出品 | ZEEKLOG(ID:ZEEKLOGnews) 日前,TIOBE 发布了最新的 3 月编程语言榜单。整体来看,本月排名变化不算大,但榜单中仍然出现了一些值得关注的小波动。  AI 工具能帮大家秒懂最新编程语言趋势? 由于 2 月天数较少,3 月的榜单整体变化有限。借着这次发布,TIOBE CEO Paul Jansen 也回应了一个最近被频繁讨论的问题:为什么 TIOBE 指数仍然依赖搜索引擎统计结果?在大语言模型流行的今天,直接询问 AI 哪些编程语言最流行,是不是更简单? 对此,Jansen 的回答是否定的。 他解释称,TIOBE 指数本质上统计的是互联网上关于某种编程语言的网页数量。而大语言模型的训练数据同样来自这些网页内容,因此从信息来源来看,两者并没有本质区别。换句话说,LLM 的判断,本质上也是建立在这些网页数据之上的。 Python 活跃度仍在下降

By Ne0inhk