使用 Python REPL 和 IPython
在 IPython 中进行交互式探索、使用制表符补全、?、%timeit 和 shell 命令
使用 Python REPL 和 IPython 是 CoddyKit 上的免费 Learn AI with Python 课时。 这是第 4 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Learn AI with Python 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Learn AI with Python 课程共包含 4 节课。
交互式工作流
REPL(读取-求值-输出循环)让您可以逐行进行试验。IPython 是功能增强的 REPL,提供自省、魔法命令和历史记录,并为 Jupyter 内核提供支持。
pip install ipython
ipython使用单个 ? 查看文档字符串
在任意对象后追加 ?,即可查看其文档字符串和签名,无需在浏览器中打开文档。
import numpy as np
np.arange?
# shows signature and docstring for arange使用双 ?? 查看源代码
使用 ?? 可以查看函数的实际源代码(如果函数是用 Python 编写的)。这非常有助于理解库的内部实现。
def scale(x, factor=2):
return x * factor
scale??
# prints the function source使用 %timeit 计时
笔记本中的同一个 %timeit 魔法命令在 IPython 中同样适用。它会自动调整循环次数,以获得稳定的测量结果。
%timeit [i**2 for i in range(1000)]使用 %run 运行脚本
%run script.py 会在当前会话中执行一个文件,执行后其中的变量仍可供检查。
%run analysis.py
print(results) # variable defined inside analysis.py最后一个结果:_
单个下划线 _ 保存最近一次输出。对于想要重新使用却忘记赋值的结果,这很方便。
In [1]: 10 * 5
Out[1]: 50
In [2]: _ + 1
Out[2]: 51更早的结果:__ 和 ___
两个下划线 __ 表示倒数第二个结果,三个下划线 ___ 表示倒数第三个结果。您可以恢复最近三次输出。
In [1]: 1
In [2]: 2
In [3]: 3
In [4]: ___, __, _
Out[4]: (1, 2, 3)按编号获取输出
每个带编号的输出都会被保存。Out[3](或 _3)可以专门获取第 3 个单元格的结果。
In [3]: 7 * 6
Out[3]: 42
In [4]: Out[3] + 8
Out[4]: 50制表符补全
在点号后按 Tab,即可列出对象的属性和方法。这样无需记忆所有接口,也能发现可用的 API。
import pandas as pd
pd.read_<TAB>
# read_csv read_excel read_json read_parquet ...使用 %who 列出变量
%who 会列出会话中定义的名称;%whos 还会添加类型和值的详细信息,以提供更完整的概览。
x = 5
name = "ada"
%who
# name x
%whos
# Variable Type Data/InfoShell 与历史记录
IPython 还可以使用 ! 运行 shell 命令,并使用 %history 调取输入历史记录,因此您可以复制之前的试验。
!ls *.csv
%history -n 1-5 # show first five inputs with numbers快速检查
测试您使用 IPython 自省功能的能力。
总结
IPython 的强大工具:
obj?查看文档字符串,obj??查看源代码%timeit进行基准测试,%run执行文件_、__、___调取最近三次结果;Out[n]调取任意结果- 使用
Tab补全来发现可用内容 - 使用
%who/%whos列出变量
常见问题解答
「使用 Python REPL 和 IPython」课时是免费的吗?
是的 — 「使用 Python REPL 和 IPython」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Learn AI with Python 课程的其余内容,请升级到 CoddyKit PRO。 Learn AI with Python 课程共包含 4 节课。
「使用 Python REPL 和 IPython」这节课中我会学到什么?
在 IPython 中进行交互式探索、使用制表符补全、?、%timeit 和 shell 命令 你通过在浏览器中直接运行的动手代码来练习 Learn AI with Python,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 Learn AI with Python 需要有经验吗?
无需任何先前经验。CoddyKit 上的 Learn AI with Python 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 4 节课,共 4 节。
「使用 Python REPL 和 IPython」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 Learn AI with Python 课中编写并运行代码吗?
能。每节 Learn AI with Python 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。
此课程中的所有课时
- 虚拟环境与 pip
- 用于数据科学的 Jupyter Notebook
- 数据科学中的 Python 数据类型
- 使用 Python REPL 和 IPython