使用IPython有哪些好处?

论坛 期权论坛 期权     
瓦利   2018-10-15 23:13   3876   8
怎样利用 IPython 提高使用 Python的 开发效率
分享到 :
0 人收藏

8 个回复

倒序浏览
2#
无关风月  3级会员 | 2018-10-15 23:13:27 发帖IP地址来自
所有需要 power shell 的地方都可以用 ipython 替代,语法高亮、magic 方法等都很好用,我个人的习惯是有一个 ipython 窗口常年开着。几个典型的使用场景:

1. 快速验证想法。
很多时候,写代码的时候忘记某个函数怎么用了,ipython 按 tab 可以自动补全,? 查看帮助,??查看源代码,非常好用。

比如你用redis模块 ,记得 set 的时候可以自动设过期时间,但是忘记具体怎么用了,可以打开一个 ipython,快速试验:




你想试一下 redis 的 sortedset 插入大数据量的时候性能怎么样,可以快速构造一个大字典,然后用 timeit 来验证,比专门写个 benchmark 脚本快多了:




比如一下想不起来时间戳、字符串、datetime几个东西之间怎么转,Google 一下,然后根据你的使用场景直接在 ipython 试,没问题了再去写代码。

2. 简单脚本的调试
这种动用 IDE 的 debug 模式太重了,直接运行又没有上下文,你只能在程序里面各种 print,这时候可以用 ipython 来 run,run完后上下文会保留在控制台里,你可以查看每个全局变量,非常方便。



3. 交互式数据分析
这个是 ipython 的重头戏, 因为数据分析的时候,你并不知道你想具体做什么,你需要看到数据,看一些概况,才能进一步分析,因此交互操作非常重要。有兴趣可以看 pandas 的文档(Python Data Analysis Library),里面所有示例都是在 ipython 下进行的。
3#
Coldwings  5级知名 | 2018-10-15 23:13:28 发帖IP地址来自
IPython相对的是python shell,多了彩色、补全以及magic command,以及一些语法糖(比如直接用sh常用语句之类的)

要说开发自然是用IDE/文本编辑器写比较快,debug的话倒是可以考虑用ipython。结合文档用jupyter notebook之类那本就是ipython的活儿,倒是挺不错。

所以对于一般意义上的正常开发,可能会用到的ipython功能也就是偶尔用到补全和magic了。用处不会太大,除非你愿意自己写magic……
4#
项伟平  3级会员 | 2018-10-15 23:13:29 发帖IP地址来自
泻药,小项目 或者 需要 debug的项目可以考虑使用。

但是我又喜欢bpython,但是这个只能在Unix系上使用。我的选择困难症啊!!!

最终我还是用vscode或者pycharm写python了,谢谢。
5#
黄哥  6级职业 | 2018-10-15 23:13:30 发帖IP地址来自
好处很多,说一点。
当你一个库不会用的时候,用ipython 可以写一些测试代码。可以用ipython快速掌握库的方法和使用。
下面以requests 为例。
善用 tab 和? 。
当输出. 后,再按tab出现下面的方法列表。

6#
石头三颗  3级会员 | 2018-10-15 23:13:31 发帖IP地址来自
谢邀。
我对ipython理解不深,它虽然有不少优点,但是对于开发来说,还真的不明显了。
你不会在shell里面写代码吧,不是IDE至少也是文本编辑器。
对我来说,ipython主要还是在学习的时候用起来比较爽,比如语法高亮,比如%系列指令,比如可以直接显示图表之类的。

如果你真的喜欢它,你可以试试用ipython notebook来写单文件的小工程。
7#
wjhbb  4级常客 | 2018-10-15 23:13:32 发帖IP地址来自
IPython 是由 Fernando Pérez 于 2001 年开始开发的,那时候他还是一名物理系学生。他的目标是让 IPython 成为像 Mathematica 一样的交互式计算环境,这是科研工作者熟悉的工作环境 (类似的还有 Matlab 和 IDL 等)。事实上,IPython Notebook (现在叫Jupyter Notebook) 跟 Mathematica 的 Notebook 很像:不止是一个执行和调试代码的环境,同时也是一个可以写文档 (支持 markdown 语法) 和进行交互式绘图的环境;如果说有些地方还不够像 Mathematica Notebook,那是因为后者申请了专利,所以不敢做得太像。
8#
黑白灰  3级会员 | 2018-10-15 23:13:34 发帖IP地址来自
ipython不是一个良好的开发环境,更适合于科学计算。由有存在magic函数,我觉得它把ipython变成一个更像控制台的东西。

我的经验是例如写抓取程序的时候一定是sublime,抓取完做模型的时候一定是ipython。
9#
华大胖  2级吧友 | 2018-10-15 23:13:35 发帖IP地址来自
这两天参加了一个大数据培训,当然是老板的课题经费资助的,前后花了1万多,学到的内容挺多,其中就演示了ipython。虽然只有短短几行代码,但是比linux默认的python命令行看起来友好很多。我印象比较深但也比较直观的一点就是命令行有行号,而且可以tab补全,还有关键字彩色,比如import from等等,真的非常不错。简直就是命令行界的一股清流啊。最近接触的hive hbase mysql linux都是单调的命令行,唯有ipython让我觉得生活有了彩色。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:
帖子:
精华:
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP