Python入门:Jupyter Notebook安装与使用指南

一、开篇:既是笔记本,也是编程环境

前面我们讲了PyCharm和VS Code,它们都是优秀的IDE/编辑器。但在Python的世界里,还有一个非常特殊的工具------Jupyter Notebook。它既不是传统意义上的编辑器,也不是IDE,而是一个基于网页的交互式编程笔记本。

📝 Jupyter Notebook的核心理念是:把代码、运行结果、图表、文字说明全部整合在一个"笔记本"里。你在同一个页面上写完代码,立刻看到结果,然后在下面写一段分析文字,再画一个图表------所有内容无缝衔接。

这种体验特别适合数据分析、科学计算、机器学习的探索过程。事实上,Jupyter已经成为数据科学领域的事实标准工具。

二、Jupyter Notebook是什么

2.1 名字的由来

Jupyter这个名字来自三种编程语言的首字母:

  • Julia
  • Python
  • R

这三种语言是数据科学和科学计算领域最主流的语言。Jupyter最初是为Python开发的(当时叫IPython Notebook),后来扩展到支持几十种编程语言。

2.2 核心概念:Cell(单元格)

Jupyter Notebook的基本单位是单元格(Cell)。每个单元格可以是:

  • 代码单元格(Code Cell):里面写Python代码,运行后显示输出结果
  • Markdown单元格(Markdown Cell):里面写文字(支持Markdown格式),用于解释和说明

一个典型的Notebook就像这样:

复制代码
┌──────────────────────────────────────────────┐
│ [Markdown Cell]                              │
│ # 数据分析报告                                │
│ 本报告分析了2024年第一季度的销售数据...        │
├──────────────────────────────────────────────┤
│ [Code Cell]                                  │
│ import pandas as pd                          │
│ import matplotlib.pyplot as plt              │
│ df = pd.read_csv('sales.csv')                │
│ df.head()                                    │
├──────────────────────────────────────────────┤
│ [输出结果]                                    │
│     月份   销售额   利润                       │
│ 0   1月   120000   15000                      │
│ 1   2月   135000   18000                      │
│ ...                                         │
├──────────────────────────────────────────────┤
│ [Markdown Cell]                              │
│ 从上表可以看出,2月份的销售额有明显增长...     │
└──────────────────────────────────────────────┘

⌨️ 你可以逐个运行代码单元格,每次运行的结果会保留在单元格下方,形成一个完整的分析记录。

2.3 和传统IDE的区别

特性 Jupyter Notebook PyCharm/VS Code
运行方式 逐个单元格运行 整个文件一起运行
结果展示 内嵌在代码下方 显示在终端/控制台
图表 内嵌显示 弹出窗口或保存为文件
文字说明 Markdown支持 代码注释
分享方式 .ipynb文件(包含代码+结果+图表) .py文件(纯代码)
适用场景 数据分析、实验、教学 项目开发、工程代码

三、安装Jupyter Notebook

3.1 用pip安装(推荐)

打开命令行,执行:

bash 复制代码
pip install jupyter

⚠️ 如果你的电脑上有多个Python版本,确保用你想要的Python版本对应的pip:

bash 复制代码
# Windows
python -m pip install jupyter

# Mac
python3 -m pip install jupyter

安装完成后验证:

bash 复制代码
jupyter --version
# 输出类似:
# IPython          : 8.x.x
# ipykernel        : 6.x.x
# jupyter_client   : 8.x.x
# jupyter_core     : 5.x.x
# notebook         : 7.x.x

3.2 用Anaconda安装

如果你安装了Anaconda(一个数据科学平台,包含了Python+众多科学计算库),Jupyter Notebook已经内置了,不需要额外安装。直接在Anaconda Navigator中点击Jupyter Notebook的"Launch"按钮即可。

3.3 Jupyter Notebook vs Jupyter Lab

安装了jupyter之后,你实际上获得了两个工具:

  • Jupyter Notebook:经典的笔记本界面,简单直观
  • Jupyter Lab:新一代界面,更像一个完整的IDE(有文件管理器、终端、多标签页等)
bash 复制代码
# 启动经典Notebook
jupyter notebook

# 启动Jupyter Lab
jupyter lab

💡 如果你是新手,建议从Jupyter Notebook开始。它的界面更简单,功能刚好够用。等你熟悉之后再尝试Jupyter Lab,会发现它更强大。

四、启动和使用Jupyter Notebook

4.1 启动Notebook服务器

① 打开命令行(Windows用CMD或PowerShell,Mac用Terminal)

② cd 到你想要存放Notebook文件的目录:

bash 复制代码
cd D:\PythonProjects\notebooks

③ 输入启动命令:

bash 复制代码
jupyter notebook

④ 命令行会出现类似这样的输出:

复制代码
[I 10:30:00.123 NotebookApp] Serving notebooks from local directory: D:\PythonProjects\notebooks
[I 10:30:00.123 NotebookApp] Jupyter Notebook 7.x.x is running at:
[I 10:30:00.123 NotebookApp] http://localhost:8888/tree?token=...

⑤ 你的默认浏览器会自动打开 http://localhost:8888/tree,这就是Jupyter Notebook的Web界面。

⚠️ 启动Jupyter Notebook的命令行窗口不要关闭!关闭它=关闭服务器=Notebook无法使用。让它最小化在后台就好。

4.2 界面介绍

打开后的页面就是文件管理页(Dashboard),显示当前目录下的所有文件和文件夹。

  • "Files"标签:文件浏览器,显示当前目录的内容
  • "Running"标签:查看当前正在运行的Notebook
  • "Clusters"标签:并行计算相关(一般用不到)

在Files标签中,你可以:

  • 点击已有的 .ipynb 文件打开它
  • 点击右上角的"New" → "Python 3" 创建新的Notebook

4.3 创建你的第一个Notebook

① 点击右上角 "New" → "Python 3 (ipykernel)",创建一个新笔记本。

② 浏览器会打开一个新标签页,标题栏显示"Untitled"。

③ 页面中间有一个空白的代码单元格,光标在里面闪烁。

④ 在单元格中输入以下代码:

python 复制代码
print('欢迎来到Jupyter Notebook的世界!')

# 做一些计算
result = 0
for i in range(1, 101):
    result += i
print(f'1到100的和是:{result}')

# 列出当前目录下的文件
import os
for file in os.listdir('.'):
    print(f'  📄 {file}')

⑤ 按 Shift + Enter(或点击工具栏的▶"运行"按钮),执行这个单元格。

⑥ 单元格下方出现输出结果,同时自动创建了一个新的空单元格。

✅ 恭喜,你已经创建并运行了你的第一个Jupyter Notebook!

4.4 重命名Notebook

点击页面顶部的标题"Untitled"→输入新名字→点击"Rename"。

bash 复制代码
# 也可以在Notebook的第一个代码单元格中查看当前文件名
import os
print(os.path.basename(os.getcwd()))

五、两种单元格详解

5.1 代码单元格(Code Cell)

代码单元格就是你写Python代码的地方。选中单元格后,它的边框会变成蓝色(命令模式)或绿色(编辑模式)。

在单元格中写代码:

python 复制代码
# 这是一个代码单元格,可以写任何Python代码
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

# 生成一些数据
x = np.linspace(0, 10, 100)
y = np.sin(x)

# 创建图表
plt.figure(figsize=(10, 4))
plt.plot(x, y, 'b-', linewidth=2, label='sin(x)')
plt.plot(x, np.cos(x), 'r--', linewidth=2, label='cos(x)')
plt.grid(True, alpha=0.3)
plt.legend()
plt.title('正弦和余弦函数')
plt.show()

运行后,图表会直接显示在单元格下面。

⌨️ 代码单元格的一个重要特性:变量在单元格之间是共享的。你在第一个单元格定义的变量,在第二个单元格中可以直接使用:

python 复制代码
# 单元格1
name = '小明'
age = 25
python 复制代码
# 单元格2(在单元格1之后运行)
print(f'{name}今年{age}岁')  # 可以访问name和age!

但这也意味着:单元格的运行顺序很重要 。如果你跳着运行单元格(比如先运行单元格3再运行单元格1),可能会导致变量未定义的错误。Notebook的工具栏左侧会显示每个单元格的执行序号(如 [1]、[2]),帮你追踪执行顺序。

5.2 Markdown单元格

Markdown单元格用来写文字说明(不是代码,不能执行Python命令)。在单元格中直接写Markdown格式的文字。

💡 切换单元格类型:选中一个单元格,在工具栏上的下拉菜单中选择 "Code" 或 "Markdown"。

要编辑Markdown单元格,双击它即可进入编辑模式。写完文字后按 Shift + Enter 渲染显示。

Markdown支持的语法:

markdown 复制代码
# 一级标题
## 二级标题
### 三级标题

**加粗文字**
*斜体文字*

- 无序列表项1
- 无序列表项2

1. 有序列表项1
2. 有序列表项2

[链接文字](https://python.org)

![图片说明](图片URL)

`行内代码`

> 引用文字

---
水平分割线

在Notebook中,Markdown单元格还支持数学公式(用LaTeX语法,用$包裹):

markdown 复制代码
行内公式:$E = mc^2$

独立公式:
$$
\int_{0}^{\infty} e^{-x^2} dx = \frac{\sqrt{\pi}}{2}
$$

这在写数据分析报告时非常有用。

六、魔法命令(Magic Commands)

Jupyter Notebook里有一种特殊的命令,以 % 开头,叫做"魔法命令"(Magic Commands)。它们不是Python语法,而是Jupyter提供的额外功能。

6.1 行魔法命令(以%开头)

python 复制代码
# %timeit - 测量代码执行时间
%timeit sum(range(1000000))
# 输出:9.23 ms ± 98.7 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)

# %time - 测量单次运行时间
%time result = sum(range(1000000))
# 输出:CPU times: user 22 ms, sys: 0 ns, total: 22 ms

# %matplotlib inline - 让matplotlib图表内嵌显示在Notebook中
%matplotlib inline

# %run - 运行外部Python脚本
%run hello.py

# %who - 列出当前所有已定义的变量
%who

# %whos - 更详细地列出变量(包括类型和值)
%whos

# %reset - 清除所有变量
%reset

# %pwd - 显示当前工作目录
%pwd

# %ls - 列出当前目录的文件
%ls

# %history - 查看命令历史
%history

6.2 单元格魔法命令(以%%开头)

作用于整个单元格:

python 复制代码
%%time
# 测量整个单元格的运行时间
import time
result = 0
for i in range(10000000):
    result += i
time.sleep(1)
print(f'结果:{result}')
python 复制代码
%%writefile my_script.py
# 将单元格内容写入文件
def hello():
    print('这个函数被写入了my_script.py文件')
python 复制代码
%%bash
# 在Notebook中运行bash命令(Mac/Linux)
echo "当前目录:$(pwd)"
ls -la

6.3 其他实用魔法命令

python 复制代码
# 查看函数的源代码
import os
os.path.join??
# 或者
??os.path.join

# 查看对象的帮助文档
len?

# 在Notebook中安装包
!pip install requests

# 执行系统命令
!dir   # Windows
!ls    # Mac/Linux

七、快捷操作与技巧

7.1 两种模式

Jupyter Notebook有命令模式 和编辑模式,这是理解操作的关键:

  • 命令模式 (蓝色边框):按 Esc 进入。在此模式下的按键是给Notebook的命令(如创建、删除、移动单元格)
  • 编辑模式 (绿色边框):按 Enter 进入。在此模式下可以在单元格中打字

7.2 常用快捷键(命令模式下)

快捷键 功能
Enter 进入编辑模式
A 在当前单元格上方插入新单元格(Above)
B 在当前单元格下方插入新单元格(Below)
D + D 删除当前单元格(按两次D)
X 剪切当前单元格
C 复制当前单元格
V 粘贴
Z 撤销删除
Y 切换到代码单元格类型
M 切换到Markdown单元格类型
Shift + Enter 运行当前单元格并选中下一个
Ctrl + Enter 运行当前单元格并保持选中
Alt + Enter 运行当前单元格并在下方插入新单元格

7.3 快捷键(编辑模式下)

快捷键 功能
Ctrl + Enter 运行当前单元格
Shift + Enter 运行并跳转到下一个单元格
Esc 进入命令模式
Tab 代码补全
Shift + Tab 显示函数文档

💡 常用快捷键每天用,一周左右就能形成肌肉记忆。刚开始记不住也没关系,用鼠标操作一样能完成所有工作。

八、导出和分享

8.1 导出为不同格式

Jupyter Notebook支持导出为多种格式:

点击 File → Save and Export Notebook As...:

  • HTML(.html):可以在浏览器中查看,不需要Python环境
  • PDF(.pdf):适合打印或正式报告
  • Markdown(.md):适合发布到GitHub
  • Python脚本(.py):提取所有代码单元格,转为可执行的Python文件
  • Reveal.js幻灯片:用Notebook做PPT演示

8.2 导出为PDF前需要准备

导出PDF需要安装LaTeX(一个排版系统)。如果只想简单分享,导出为HTML然后再用浏览器"打印→另存为PDF"是最方便的方式。

8.3 在GitHub上展示

GitHub原生支持渲染 .ipynb 文件!你只需把 .ipynb 文件推送到GitHub仓库中,它就能在网页上直接显示完整的Notebook内容(包括代码、输出和图表)。

这也是为什么很多数据分析项目选择用Jupyter Notebook------分享起来非常方便。

九、Jupyter适用的场景

9.1 最适合的场景

✅ 数据探索与分析 :一边写代码,一边看结果,一边写分析,三位一体

✅ 学习Python :可以分知识点逐个单元格运行,实验性很强

✅ 教学演示 :老师边讲边写代码,学生实时看到效果

✅ 科学计算 :公式推导配代码验证,一步到位

✅ 机器学习实验 :数据处理→模型训练→结果评估→可视化,全在一个文档里

✅ 数据报告:把分析过程和结论整合成一份可读的文档

9.2 不太适合的场景

❌ 大型工程项目 :代码分散在多个单元格中,不利于版本控制和模块化管理

❌ Web后端开发 :需要持续运行的服务器程序

❌ GUI桌面应用 :依赖事件的界面程序

❌ 生产环境部署:Notebook不适合作为生产环境的运行方式

十、本篇小结

✅ Jupyter Notebook是一个独特的交互式编程环境,它把代码、结果、图表和文字融合在一起。核心要点:

  1. 单元格(Cell) 是基本单位,分为Code(代码)和Markdown(文字)两种
  2. 变量在单元格间共享,但要注意执行顺序
  3. 魔法命令 (如%timeit、%matplotlib inline)提供额外功能
  4. 两种模式:命令模式(蓝色)和编辑模式(绿色),各有不同的快捷键
  5. 最佳场景:数据分析、机器学习、科学计算、教学演示

📝 从下一篇文章开始,我们将正式开始Python编程的学习之旅------写第一行代码、理解注释、变量和数据类型。Jupyter Notebook可以作为你练习代码的好工具,但在后续文章里,我主要使用 .py 脚本文件+VS Code来讲解,因为那更接近实际开发的方式。

相关推荐
JWASX1 小时前
Java 转 go 学习 - kitex(2)
学习·golang
wdfk_prog1 小时前
LWIP教程 03:从 `low_level_input()` 到 `pbuf_free()`——`pbuf` 的数据视图、Chain 与引用计数
运维·网络·笔记·学习
我命由我123452 小时前
Photoshop - Photoshop 设计概念
学习·职场和发展·产品运营·求职招聘·职场发展·产品经理·学习方法
白猫不黑2 小时前
网络安全专业:从入门到进阶的完整学习路线
学习·安全·web安全·计算机·网络安全·信息安全·编程
ouynagda2 小时前
嵌入式Linux i.MX6ULL系统移植学习笔记
linux·笔记·学习
白猫不黑2 小时前
AI自动化漏洞挖掘从入门到进阶超详细学习路线
人工智能·学习·web安全·网络安全·信息安全·渗透测试·自动化
~kiss~3 小时前
Chroma 的边际相关性检索 - Maximal Marginal Relevance,检索的多样性
学习
扶风ff3 小时前
练题簿在线免费刷题:题目导入、章节管理、Excel 与 Word 导出,让题库更好用
学习·小程序·word·excel
JWASX3 小时前
Java 转 go 学习 - GRPC(3)
学习·golang