利用Python进行数据分析(3) 使用IPython提高开发效率

一、IPython 简介

IPython 是一个交互式的 Python 解释器,而且它更加高效。
它和大多传统工作模式(编辑->编译->运行)不同的是,它采用的工作模式是:执行->探索,而大部分和数据分析相关的代码都含有探索式操作(比如试误法和迭代法),所以IPython能大大提高编码效率。

IPython 发展到现在,它不仅仅只是一个加强版的 Python shell 了,它集成了 GUI 控制台,这可以让你直接进行绘图操作;它还有一个基于 Web 的交互式笔记本和一个轻量级的快速并行的计算引擎。

二、编写代码

在 Terminal 中输入 ipython 既可启动 IPython。
如果需要使用 Matplotlib 库,则需要在启动的时候标记集成 Matplotlib 包,则启动命令改为:ipython --pylab

学会使用 Tab 键

在输入代码的时候,如果这是一个前面已经输入过的内容(比如前面定义的变量),则只需要在输入了前几个字母之后摁下 Tab 键即可自动补全。
IPython 拥有这个功能是对标准的 Python shell 的主要改进,这在其他语言的 IDE 中已经非常常见。

不仅能自动补全变量、对象等,像在 Terminal 中敲入命令一样 Tab 键还可以自动完成文件路径。

上下箭头键,快速输入历史命令

当某条命令或代码需要反复输入的时候,不必每次都手动敲一遍,只需要使用上箭头键既可自动补全上一条命令;此时再继续摁上箭头键是上上条命令。
如果某个命令需要摁很多次上箭头键才能找到,此时只需要输入那条命令的前几个字母然后再摁上箭头键,即可只筛选符合前几个字母的命令。

执行一个 .py 文件

如果想要执行一个外部的 .py 文件,使用 %run 命令,例如:


查看相关代码的通用信息

当你需要查看一个变量或对象相关的通用信息的时候,在此变量后添加一个问号然后摁回车键即可。例如:



如果某个函数的包含 docstring,则在函数名后添加一个问号(?)也可以查看相关的 docstring 内容。
如果在函数名后添加两个问号(??),则可以显示该函数相关的源代码,例如:


编码过程中相关的快捷键
  • Ctrl+F 光标前移1个字符
  • Ctrl+B 光标后移1个字符
  • Ctrl+A 光标移至行首
  • Ctrl+E 光标移至行尾
  • Ctrl+U 删除此行光标之前的所有内容
  • Ctrl+K 删除此行光标之后的所有内容
  • Ctrl+L 清屏(Mac 下 Cmd+K 也可以)

三、调试代码

代码发生异常后启动调试器

在代码发生异常后,输入 %debug 命令会启动调试器并自动跳转到“事发地点”:



输入 q 命令退出调试器。

单步执行

使用带 -d 选项的 %run 命令可以预先打开调试器,输入 s 单步进入函数调用,输入 n 命令执行到下一行代码,输入叹号(!)紧接着输入变量名可查看变量的值。例如:



这条命令如果再添加一个指定行号的选项(-b)即可在启动调试器时设置一个断点,例如:


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,524评论 5 460
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,869评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,813评论 0 320
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,210评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,085评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,117评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,533评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,219评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,487评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,582评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,362评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,218评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,589评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,899评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,176评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,503评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,707评论 2 335

推荐阅读更多精彩内容