IPython 是一个强大的交互式 Python 解释器,提供了许多增强功能,使得 Python 编程更加高效和有趣。以下是一些实用的 IPython 使用技巧及代码示例,帮助你更好地利用 IPython 进行日常编程、数据分析和科学计算。
1. 自动补全
使用 Tab 键可以自动补全变量名、函数名等。
import numpy as np
np.a # 按 Tab 键自动补全为 np.array
2. 自动缩进
当你开始一个新代码块时,IPython 会自动缩进。
for i in range(5):
# IPython 会自动缩进
print(i)
3. 代码历史
使用上下箭头键可以浏览命令历史,或者使用 %history
查看命令历史。
%history
4. 魔术命令
IPython 提供了一些特殊的命令,称为魔术命令,它们以 %
或 %%
开头。
%timeit
用于测量某个代码片段的执行时间。
%timeit [x**2 for x in range(1000)]
%%timeit
单元格魔术命令,用于测量整个单元格的执行时间。
%%timeit
import numpy as np
x = np.arange(1000)
(x**2).sum()
%run
用于运行一个 Python 脚本。
%run my_script.py
5. 变量查看
使用 %whos
可以查看当前命名空间中的所有变量。
a = 10
b = 20
%whos
6. 清屏
使用 %clear
可以清除当前的输出。
%clear
7. 帮助系统
使用 ?
或 %?
可以获取函数或魔术命令的帮助信息。
%?print
8. 使用 %paste 和 %cpaste
当你从其他地方复制代码时,可以使用这些命令来避免一些常见的粘贴问题。
%paste
9. 使用 %%capture 来捕获输出
当你想要捕获某个单元格的输出,而不是显示它时,可以使用 %%capture
。
%%capture captured_output
print("This will not be displayed")
10. 使用 %load 加载文件
使用 %load
可以快速加载并执行一个 Python 脚本。
%load my_script.py
11. 使用 %edit 编辑变量或函数
使用 %edit
可以快速打开并编辑当前命名空间中的变量或函数。
%edit my_function
12. 使用 %xmode 控制错误信息的显示
%xmode
可以控制当发生错误时显示的堆栈跟踪的详细程度。
%xmode minimal
13. 自动换行
IPython 支持自动换行,当你的代码超出了屏幕宽度时,可以使用 Shift + Enter
来换行并继续输入。
14. 使用 %auto 来自动导入模块
如果你经常需要导入某些模块,可以使用 %auto
来自动导入它们。
%auto
15. 使用 %bookmark 来保存和加载工作会话
%bookmark
允许你保存当前的工作会话,并在之后加载它。
%bookmark save my_bookmark
%bookmark load my_bookmark
16. 使用 %matplotlib 来集成图形库
如果你使用 matplotlib 进行绘图,%matplotlib
魔术命令可以设置 matplotlib 来在 IPython 中显示图形。
%matplotlib inline
import matplotlib.pyplot as plt
plt.plot([1, 2, 3], [4, 5, 6])
17. 使用 %precision 来控制浮点数的显示精度
%precision
魔术命令可以设置浮点数的显示精度。
%precision 2
a = 3.1415926
print(a)
18. 使用 %alias 来创建命令别名
%alias
允许你为常用的命令创建别名。
%alias ll ls -l
ll
19. 使用 %config 来配置 IPython
%config
命令可以用来查看和设置 IPython 的配置选项。
%config IPCompleter.greedy=True
20. 使用 %debug 来进入调试模式
当代码出错时,使用 %debug
可以进入调试模式,逐行检查代码。
def my_function():
x = 1 / 0
my_function() # This will raise an error
%debug