IPython是一个强大的交互式Python shell,提供了许多有用的特性来提高编程效率。以下是一些常用的IPython技巧:
1. 魔法命令
魔法命令是IPython的特殊命令,以%
开头。
常用魔法命令:
-
%run
: 运行Python脚本%run my_script.py
-
%timeit
: 测量代码执行时间%timeit [1, 2, 3, 4, 5]
-
%matplotlib inline
: 在Jupyter中内嵌显示图表%matplotlib inline import matplotlib.pyplot as plt plt.plot([1,2,3,4]) plt.show()
-
%pwd
: 显示当前工作目录 -
%ls
: 列出目录内容 -
%cd
: 改变目录
2. 自动补全
使用Tab键可以自动补全命令、变量名、文件名等。
import numpy as n<Tab> # 自动补全为 import numpy as np
3. 历史命令
- 使用上下箭头键可以浏览历史命令
Ctrl + R
: 反向搜索命令历史
4. 快捷键
Ctrl + L
: 清屏Ctrl + C
: 中断当前执行的代码Ctrl + A
: 移动光标到行首Ctrl + E
: 移动光标到行尾
5. 内置帮助
使用?
可以查看对象的帮助文档:
len? # 显示len函数的帮助文档
使用??
可以查看源代码(如果可用):
len?? # 显示len函数的源代码
6. 命令行粘贴
使用%paste
和%cpaste
可以方便地粘贴多行代码:
%paste
# 粘贴你的代码
# 自动执行
%cpaste
# 粘贴你的代码
# 按Ctrl+D执行
7. 系统命令
使用!
可以执行系统命令:
!ls # 在Unix系统中列出文件
!dir # 在Windows系统中列出文件
8. 代码计时
除了%timeit
外,还可以使用%%time
魔法命令来计算整个单元格的执行时间:
%%time
# 你的代码
9. 变量探索
%whos
: 列出所有当前定义的变量%who
: 简单列出当前定义的变量名
10. 调试
使用%debug
魔法命令可以在出错后进入调试模式:
%debug
11. 配置文件
可以创建~/.ipython/profile_default/ipython_config.py
文件来自定义IPython配置。
12. 多行编辑
在IPython中,你可以使用三个引号来编写多行代码:
"""
for i in range(10):
print(i)
"""
13. 快速重新加载模块
使用%autoreload
魔法命令可以自动重新加载已更改的模块:
%load_ext autoreload
%autoreload 2 # 自动重新加载所有模块
14. 显示图像
在Jupyter Notebook中,可以直接显示图像:
from IPython.display import Image
Image('path/to/image.png')
15. 富文本输出
IPython支持HTML和LaTeX输出:
from IPython.display import HTML, Math
HTML("<b>Bold Text</b>")
Math(r'\int_0^\infty e^{-x^2} dx=\frac{\sqrt{\pi}}{2}')
16. 性能分析
使用%prun
魔法命令可以对函数进行性能分析:
%prun function_name(args)
结语
这些技巧只是IPython强大功能的一小部分。随着你对IPython的深入使用,你会发现更多有用的特性。记住,你可以随时使用?
来查看任何命令或功能的帮助文档。
希望这些技巧能帮助你更高效地使用IPython!