Python入门Jupyter Notebook安装与使用指南一、开篇既是笔记本也是编程环境前面我们讲了PyCharm和VS Code它们都是优秀的IDE/编辑器。但在Python的世界里还有一个非常特殊的工具——Jupyter Notebook。它既不是传统意义上的编辑器也不是IDE而是一个基于网页的交互式编程笔记本。 Jupyter Notebook的核心理念是把代码、运行结果、图表、文字说明全部整合在一个笔记本里。你在同一个页面上写完代码立刻看到结果然后在下面写一段分析文字再画一个图表——所有内容无缝衔接。这种体验特别适合数据分析、科学计算、机器学习的探索过程。事实上Jupyter已经成为数据科学领域的事实标准工具。二、Jupyter Notebook是什么2.1 名字的由来Jupyter这个名字来自三种编程语言的首字母JuliaPythonR这三种语言是数据科学和科学计算领域最主流的语言。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 NotebookPyCharm/VS Code运行方式逐个单元格运行整个文件一起运行结果展示内嵌在代码下方显示在终端/控制台图表内嵌显示弹出窗口或保存为文件文字说明Markdown支持代码注释分享方式.ipynb文件包含代码结果图表.py文件纯代码适用场景数据分析、实验、教学项目开发、工程代码三、安装Jupyter Notebook3.1 用pip安装推荐打开命令行执行pipinstalljupyter⚠️ 如果你的电脑上有多个Python版本确保用你想要的Python版本对应的pip# Windowspython-mpipinstalljupyter# Macpython3-mpipinstalljupyter安装完成后验证jupyter--version# 输出类似# IPython : 8.x.x# ipykernel : 6.x.x# jupyter_client : 8.x.x# jupyter_core : 5.x.x# notebook : 7.x.x3.2 用Anaconda安装如果你安装了Anaconda一个数据科学平台包含了Python众多科学计算库Jupyter Notebook已经内置了不需要额外安装。直接在Anaconda Navigator中点击Jupyter Notebook的Launch按钮即可。3.3 Jupyter Notebook vs Jupyter Lab安装了jupyter之后你实际上获得了两个工具Jupyter Notebook经典的笔记本界面简单直观Jupyter Lab新一代界面更像一个完整的IDE有文件管理器、终端、多标签页等# 启动经典Notebookjupyter notebook# 启动Jupyter Labjupyter lab 如果你是新手建议从Jupyter Notebook开始。它的界面更简单功能刚好够用。等你熟悉之后再尝试Jupyter Lab会发现它更强大。四、启动和使用Jupyter Notebook4.1 启动Notebook服务器① 打开命令行Windows用CMD或PowerShellMac用Terminal②cd到你想要存放Notebook文件的目录cdD:\PythonProjects\notebooks③ 输入启动命令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标签查看当前正在运行的NotebookClusters标签并行计算相关一般用不到在Files标签中你可以点击已有的.ipynb文件打开它点击右上角的New → “Python 3” 创建新的Notebook4.3 创建你的第一个Notebook① 点击右上角 “New” → “Python 3 (ipykernel)”创建一个新笔记本。② 浏览器会打开一个新标签页标题栏显示Untitled。③ 页面中间有一个空白的代码单元格光标在里面闪烁。④ 在单元格中输入以下代码print(欢迎来到Jupyter Notebook的世界)# 做一些计算result0foriinrange(1,101):resultiprint(f1到100的和是{result})# 列出当前目录下的文件importosforfileinos.listdir(.):print(f {file})⑤ 按Shift Enter或点击工具栏的▶运行按钮执行这个单元格。⑥ 单元格下方出现输出结果同时自动创建了一个新的空单元格。✅ 恭喜你已经创建并运行了你的第一个Jupyter Notebook4.4 重命名Notebook点击页面顶部的标题Untitled→输入新名字→点击Rename。# 也可以在Notebook的第一个代码单元格中查看当前文件名importos print(os.path.basename(os.getcwd()))五、两种单元格详解5.1 代码单元格Code Cell代码单元格就是你写Python代码的地方。选中单元格后它的边框会变成蓝色命令模式或绿色编辑模式。在单元格中写代码# 这是一个代码单元格可以写任何Python代码importpandasaspdimportnumpyasnpimportmatplotlib.pyplotasplt# 生成一些数据xnp.linspace(0,10,100)ynp.sin(x)# 创建图表plt.figure(figsize(10,4))plt.plot(x,y,b-,linewidth2,labelsin(x))plt.plot(x,np.cos(x),r--,linewidth2,labelcos(x))plt.grid(True,alpha0.3)plt.legend()plt.title(正弦和余弦函数)plt.show()运行后图表会直接显示在单元格下面。⌨️ 代码单元格的一个重要特性变量在单元格之间是共享的。你在第一个单元格定义的变量在第二个单元格中可以直接使用# 单元格1name小明age25# 单元格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支持的语法# 一级标题 ## 二级标题 ### 三级标题 **加粗文字** *斜体文字* - 无序列表项1 - 无序列表项2 1. 有序列表项1 2. 有序列表项2 [链接文字](https://python.org) ![图片说明](图片URL) 行内代码 引用文字 --- 水平分割线在Notebook中Markdown单元格还支持数学公式用LaTeX语法用$包裹行内公式$E mc^2$ 独立公式 $$ \int_{0}^{\infty} e^{-x^2} dx \frac{\sqrt{\pi}}{2} $$这在写数据分析报告时非常有用。六、魔法命令Magic CommandsJupyter Notebook里有一种特殊的命令以%开头叫做魔法命令Magic Commands。它们不是Python语法而是Jupyter提供的额外功能。6.1 行魔法命令以%开头# %timeit - 测量代码执行时间%timeitsum(range(1000000))# 输出9.23 ms ± 98.7 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)# %time - 测量单次运行时间%time resultsum(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 - 查看命令历史%history6.2 单元格魔法命令以%%开头作用于整个单元格%%time# 测量整个单元格的运行时间importtime result0foriinrange(10000000):resulti time.sleep(1)print(f结果{result})%%writefile my_script.py# 将单元格内容写入文件defhello():print(这个函数被写入了my_script.py文件)%%bash# 在Notebook中运行bash命令Mac/Linuxecho当前目录$(pwd)ls-la6.3 其他实用魔法命令# 查看函数的源代码importos 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在当前单元格上方插入新单元格AboveB在当前单元格下方插入新单元格BelowD D删除当前单元格按两次DX剪切当前单元格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适合发布到GitHubPython脚本.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是一个独特的交互式编程环境它把代码、结果、图表和文字融合在一起。核心要点单元格Cell是基本单位分为Code代码和Markdown文字两种变量在单元格间共享但要注意执行顺序魔法命令如%timeit、%matplotlib inline提供额外功能两种模式命令模式蓝色和编辑模式绿色各有不同的快捷键最佳场景数据分析、机器学习、科学计算、教学演示 从下一篇文章开始我们将正式开始Python编程的学习之旅——写第一行代码、理解注释、变量和数据类型。Jupyter Notebook可以作为你练习代码的好工具但在后续文章里我主要使用.py脚本文件VS Code来讲解因为那更接近实际开发的方式。