关于IPython你需要知道的21个小技巧

IPython 是一个强大的交互式 Python shell,它比标准的 Python shell 提供了更多的功能和便利。IPython 由 Fernando Pérez 在 2001 年创建,旨在为科研人员和数据科学家提供一个更高效、更易用的交互式 Python 编程环境。随着时间的发展,IPython 已经成为科学计算、数据分析和机器学习领域中不可或缺的工具之一。

IPython的成功,也催生了Jupyter。2014年,Jupyter 从 IPython 项目中分离出来,并扩展到其它语言。Jupyter这个名字,正是来源于 Julia、Python 和 R 这三种语言的首字母组合。

尽管有了Jupyter Notebook,但在今天,我们仍然有很多理由使用ipython,核心原因就是,它比Jupyter更轻量 – 无论是从安装角度还是使用角度。更轻,但仍然长袖擅舞,颇有飞燕之魂。

安装ipython比安装Jupyter更快更容易。

pip install ipython

然后在命令行下输入ipython就可以使用了。

1. 使用%magic命令

与Notebooke一样,我们在IPython中也可以使用魔法命令。比如 %timeit np.arange(1_000_000)。如果要对整个代码块执行魔法命令,需要使用两个%

在这里插入图片描述

2. 使用Tab自动补全

输入pd.后按 Tab 键,就可列出 pandas 模块的所有属性和方法。再按一次Tab键,就会导航到具体API上,再回车就能输入啦!

如果某个函数你只记得一部分,并且不是开头的一部分,可以用?来代替进行模糊查询。

3. 交互式帮助

这个跟Jupyter中一样,在对象后输入一个?,就可以显示帮助文档,输入两个??,就可以显示源代码。显示源码的功能简直太好用了。

4. 持久化临时变量

使用 %store 命令将变量持久化到磁盘,即使重启内核也不会丢失数据。

比如:

%store variable_name 存储变量。
%store -r variable_name 从磁盘恢复变量。

5. 绘图

对很少使用IPython的人来说,很可能没有想到,即使IPython运行在shell下,但也是可以绘图的。

import matplotlib.pyplot as plt 
plt.plot([1,2,3], [1,2,3])
plt.show(block=True)

这样会弹出一个窗口,显示正在绘制的图形。记住,最后一行的参数block=True是关键。否则你将什么也看不到。

6. 历史命令及关联命令

这一组命令是真正double工作效率的关键。

可以通过%hist输出所有的历史命令。可以通过_i(n)来检索前n个命令。

比如,在我的试验中,

_i10

输出了import matplotlib.pyplot as plt

一个关联的用法是,将历史命令存到一个文件中。这是通过%save来实现的。

%save example 4 5 6 8

然后你可以重置工作区间(通过%resset),重新加载example.py文件(通过%load)。这样就可以逐步编写和验证的方式,不断构建和改进代码,最终生成高质量的可用python文件。

7. 启用调试

一旦代码运行出错,你就可以输入%debug进入调试模式。这点比Jupyter要方便。在调试模式下,你可以通过p命令来检查变量值,这往往是出错的原因。

比如,下面的代码在运行时会出错:

def example_function():
    # 尝试使用未定义的变量 `data`
    i = 10
    print(data)

example_function()

出错后,立即输入%debug,然后就可以用l命令来列出代码,p命令来检查变量值,q命令来退出。

在这里插入图片描述

8. 使用bookmark

如果我们经常使用ipython,甚至同时开发了好几个项目,那么bookmark功能将非常有用。下面的例子演示了如何创建书签,并使用它。

%bookmark my_project ~/Projects/my-python-project

这将创建一个名为my_project的书签,指向~/Projects/my-python-project目录。下次我们打开ipython窗口,就可以通过这个书签,直接进入my-python-project目录:

# 如果忘记了创建的书签,可以用%bookmark -l来列出所有书签
# 如果要删除书签,可以用%bookmark -d来删除
%cd -b my_project
  • 21
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

量化风云

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值