0Pricing
Learn AI with Python · 课时

使用 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/Info

Shell 与历史记录

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 反馈 — 无需本地设置。

此课程中的所有课时

  1. 虚拟环境与 pip
  2. 用于数据科学的 Jupyter Notebook
  3. 数据科学中的 Python 数据类型
  4. 使用 Python REPL 和 IPython
← 返回 Learn AI with Python