【转】http://www.cnblogs.com/cuiyubo/p/6823478.html

学习《利用python进行数据分析》

第三章 IPython:一种交互式计算和开发环境的笔记,共享给大家,同时为自己作为备忘用。

安装ipython用pip即可。ps.博主用的是win7系统,所以接下来的都是在windows系统下操作的。


一.Ipython基础

启动:开始菜单-输入cmd-回车-输入ipython

初尝试


二.Tab键自动完成

在shell中输入表达式时,只要按下Tab键,当前命令控件中任何与输入的字符串相匹配的变量(对象、函数等)就会被找出来。

ps.之前我发现我的ipython没有Tab键自动补全功能,tab键的功能是缩进。最后 pip install pyreadline即可解决。

下面这个例子,输入b.后按下<tab>键即可得到下图的结果。

三.内省

在变量的前面或后面加上一个问号(?)就可以将有关该对象的一些通用信息显示出来。这就叫做对象的内省。

如果对象是一个函数或实例方法,则其docstring也会被现实出来。

使用??还将显示出该函数的源代码。

一些字符串配以通配符(*)即可显示出所有与该通配符表达式相匹配的名称。

例如,我们可以列出Numpy顶级命名空间中含有“load”的所有函数


四.%run命令

在ipython会话环境中,所有文件都可以通过%run命令当做Python程序来运行。

输入 %run 路径+python文件名称即可。

ps.《集体智慧编程》里面代码的执行可以用这个


五.中断正在执行的代码(急性子必备23333)

按下Ctrl-C就会引发一个KeyboardInterrupt。除了一些非常特殊的情况下,绝大部分python程序都会立即停止执行


六.执行剪贴板中的代码

书上说使用ctrl+shift+v将剪贴板的代码片段粘贴出来,然而windows系统似乎不可行,所以鼠标右键粘贴好了。

%paste可以承载剪贴板中的一切文本,并在shell中以整体形式执行。

%cpaste跟%paste差不多,只不过它多出了一个用于粘贴代码的特殊提示符而已。如果发现粘贴的代码有错,只需要按下ctrl+c即可终止%cpaste提示如。


七.键盘快捷键

其实不到真正使用我也记不住23333,在此粘贴给大家作为备忘。

  1. Ctrl-P    或上箭头键 后向搜索命令历史中以当前输入的文本开头的命令
  2. Ctrl-N   或下箭头键 前向搜索命令历史中以当前输入的文本开头的命令
  3. Ctrl-R   按行读取的反向历史搜索(部分匹配)
  4. Ctrl-Shift-v   从剪贴板粘贴文本
  5. Ctrl-C   中止当前正在执行的代码
  6. Ctrl-A   将光标移动到行首
  7. Ctrl-E   将光标移动到行尾
  8. Ctrl-K   删除从光标开始至行尾的文本
  9. Ctrl-U   清除当前行的所有文本译注12
  10. Ctrl-F   将光标向前移动一个字符
  11. Ctrl-b   将光标向后移动一个字符
  12. Ctrl-L   清屏

八.异常和跟踪

九.魔术命令

粘贴在此以作备忘

命令 说明
%quickref 显示IPython的快速参考
%magic 显示所有魔术命令的详细文档
%debug 从最新的异常跟踪的底部进入交互式调试器
%hist 打印命令的输入(可选输出)历史
%pdb 在异常发生后自动进入调试器
%paste 执行剪贴板中的Python代码
%cpaste 打开一个特殊提示符以便手工粘贴待执行的Python代码
%reset 删除interactive命名空间中的全部变量/名称
%page OBJECT 通过分页器打印输出OBJECT
%run script.py 在IPython中执行一个Python脚本文件
%prun statement 通过cProfile执行statement,并打印分析器的输出结果
%time statement 报告statement的执行时间
%timeit statement 多次执行statement以计算系综平均执行时间。对那些执行时  间非常小的代码很有用
%who、%who_ls、%whos 显示interactive命名空间中定义的变量,信息级别/冗余度可变
%xdel variable 删除variable,并尝试清除其在IPython中的对象上的一切引用

十.基于Qt的富GUI控制台

Ipython团队开发了一个基于Qt框架(其目的是为终端应用程序提供诸如内嵌图片、多行编辑、语法高亮之类的富文本剪辑功能)的GUI控制台。

使用

ipython qtconsole --pylab=inline

来启动的话可为其添加绘图功能。

ps.这一步刚开始无法执行,我的解决方法是:

pip install qtconsole,就可以运行了- -..

十一.matplotlib集成与pylab模式

通常我们通过在启动Ipython时加上--pylab标记来集成matplotlib

注意空格啊~是

ipython --pylab

十二.使用历史命令

十三.搜索并重用历史命令

历史命令用上下箭头就好啦,ctrl+p和ctrl+n 太麻烦啦。

ctrl+r用于实现部分增量搜索,按下ctrl+r并输入你想搜索的行中的几个字符。按下ctrl+r将会循环搜索历史命令中每一条与输入相符的行。

十四.输入和输出变量

ipython将最近的两个输出结果保存在_(一个下划线)和__(两个下划线)变量中

输入的文本被保存在名为_iX的变量中,其中X是输入行的行号。比如说,在输入完27行后,就会产生两个新变量_27(输出变量)和_i27(输入变量)

十五.记录输入和输出

执行%logstart既可开始记录日志

十六.与操作系统交互

十七.shell命令和别名

在ipython中,以感叹号(!)开头的命令行表示其后的所有内容需要在系统shell中执行。

##再启动一个python解释器

在使用!时,ipython还允许使用当前环境中定义的python值。只需要在变量名前面加上$即可

魔术命令%alias可以为shell命令自定义简称。

这是怎么回事儿~!

十八.目录书签系统

ipython有一个简单的目录书签系统,它使你能保存常用目录的别名以实现快速跳转。

十九.软件开发工具

(一)交互式调试器

调试代码的最佳时期之一就是错误刚刚发生那会儿。

%debug命令(在发生异常之后马上输入)将会调用哪个“事后调试器”,并直接跳转到引发异常的那个栈帧(stack frame)

这儿需要打开ipython_bug.py文件,需要的同学可以问我要,路径还需要自己改一改。

在这个调试器中,可以执行任意python代码并查看各个栈帧中的一切对象和数据(也就是解释还“留了条生路”的那些)。

默认从最低级开始的(即错误发生的地方)。

输入u(up)和d(down)即可在栈跟踪的个级别之间的切换

执行%Pdb命令可以让ipython在出现异常之后自动调用调试器。

此外,调试器还可以为代码开发工作提供帮助,尤其是当你想要设置断点或对函数、脚本进行单步调试以查看各条语句的执行情况时。

实现这个目的的方式有几个:

(二)调试器的其它使用场景

(三)测试代码的执行时间:%time和%timeit

有时候你可能会希望了解某个复杂计算过程中到底是哪些函数占用的时间最多。

ipython专门提供了两个魔术函数(%time和%timeit)以便自动完成该过程。

%time一次执行一条语句,然后报告总体执行时间。

例子:下面是一个拥有60万字符串的数组,以及两个不同的“能够选出其中以foo开头的字符串”的方法:

#一个非常大的字符串数组
strings = ['foo','foobar','baz','qux','python','Guido Van Rossum']*100000
method1 = [x for x in strings if x.startswith('foo')]
mathod2 = [x for x in strings if x[:3] == 'foo']

通过%time来测试:

但是这并不是一个非常精确的结果,如果你对相同的语句多次执行%time的话,就会发现其结果是会变的。

为了得到更为精确的结果,需要使用魔术函数%timeit,对于任意语句,它会自动多次执行以产生一个非常精确的平均执行时间。

(四)基本性能分析:%prun和%run -p

(五)逐行分析函数性能

二十.Ipython HTML Notebook

IPython Notebook使用浏览器作为界面,向后台的IPython服务器发送请求,并显示结果。在浏览器的界面中使用单元(Cell)保存各种信息。Cell有多种类型,经常使用的有表示格式化文本的Markdown单元,和表示代码的Code单元。

每个代码单元都有一个输出区域,在Code单元中输入代码,按 Shift-Enter 将运行此代码,代码中最后一个表达式的值将输出区域显示。如果希望屏蔽输出,可以在最后一条语句之后添加一个分号:”;”。此外,代码中还可以使用 print语句在输出区域中显示信息。

在Markdown单元中还可以直接使用Html和Javascript。

二十一.利用ipython提高代码开发效率的几点提示

(一)重新加载模块依赖项

(二)代码设计提示

1.保留有意义的对象和数据

2.扁平结构要比嵌套结构好

3.无惧大文件

二十一.高级ipython功能

(一)让你的类对ipython更加友好

(二)个性化和配置

转载于:https://www.cnblogs.com/wwwwwei/p/10646729.html

【转】iPython入门技巧相关推荐

  1. 山体等高线怎么看_地貌图知识(学了军事地图也会看)定向运动及野外生存入门技巧4...

    地图在古代早已显示出它的重要作用了.那么地图在现代战争中的作用又如何呢?现代战争,各军兵种协同作战,战场范围广阔,战争的突然性和破坏性增大,情况复杂多变,组织指挥复杂,对地图的依赖性更大,地图成了军队 ...

  2. matlab撤销上一步命令_CAD快速入门技巧:CAD软件中撤销操作的方法汇总

    在使用浩辰CAD软件画图的过程中都难免会误操作,因此CAD与WORD.EXCEL等其他软件一样,在误操作后可以通过"放弃"来取消刚进行的操作,Windows软件的常规操作也适用于C ...

  3. java撤销上一步_CAD快速入门技巧:CAD软件中撤销操作的方法汇总

    在使用浩辰CAD软件画图的过程中都难免会误操作,因此CAD与WORD.EXCEL等其他软件一样,在误操作后可以通过"放弃"来取消刚进行的操作,Windows软件的常规操作也适用于C ...

  4. 现货白银入门技巧之白银K线卖出信号

    K线信号是市场价格最直观的反应.要学习现货白银投资入门技巧就肯定要戳K线学习下一番苦工.由于现货白银市场的双向做空的机制,对我们的投资者选择的多样性有很大的帮助.我们可以做多也可以做空.下面是个有关现 ...

  5. 2020平面设计新手入门技巧

    2020平面设计新手入门技巧 想要当一个设计师,首先要确定自己是否有学习的耐心和勇气.所有学科的新人成长都需要一个过程,这自然要从模仿开始.要多看优秀的设计作品,学习人家作品中优秀的地方,并且多多练习 ...

  6. CAD制图初学入门技巧:如何批量生成CAD填充边界?

    在浩辰CAD制图软件中,CAD填充是比较常用的功能之一.有很多CAD制图初学入门者在使用这个功能的时候不知道该如何批量生成CAD填充边界,接下来给大家分享一下相关的CAD制图初学入门教程吧! 如果填充 ...

  7. Python入门技巧

    1.6 Python入门技巧 以下介绍了一些比较实用的Python学习技巧,可以让初学者快速上手. 1.6.1 help函数 help用于启动Python内置的帮助系统(此函数主要在交互式中使用).一 ...

  8. cad调了比例因子没反应_CAD制图初学入门技巧:将CAD图形缩放为指定尺寸

    在使用浩辰CAD软件绘制图纸的过程中,很多CAD制图初学入门者由于对CAD软件的各种复杂功能不够了解,所以会出现比较多的问题,很多初学者会在网上找一下图纸联系,其中就会遇到CAD图形缩放的问题,如何将 ...

  9. 大数据软件学习入门技巧

    大数据软件学习入门技巧,一般而言,在进行大数据处理时,会先使用大数据数据库,如 MongoDB. GBase等.然后利用数据仓库工具,对数据进行清理.转换.处理,得出有价值的数据.接着用数据建模工具建 ...

最新文章

  1. 思想解读:TF-A(ATF)中栈指针和栈内存的设计思想解读
  2. axis2 默认端口_使用axis2创建webservice
  3. kali linux工具pyrit,在Kali Linux上安装cuda、pyrit-cuda以及optimus
  4. sikuli python java_自动化测试之sikuli调研
  5. pid控制算法c语言,PID控制算法的C语言实现(三)
  6. 同济大学Openwrt路由器 ipv6教程(新手导向)
  7. layui 富文本编辑器和textarea值的相互传递
  8. phpstorm php代码补全,基本代码补全:补全名称和关键字
  9. linux内核空间和用户空间认识和区别
  10. 云原生GIS技术全解读
  11. Java实战项目《瑞吉外卖》
  12. ip a命令显示的UP与LOWER_UP的区别
  13. python中的解码与编码
  14. 码率控制(一):理解码率控制模式(x264,x264,vpx)
  15. 混合云的基本介绍,混合云主要有什么优缺点?
  16. 2020深圳计算机职称考试,2019年深圳市职称考评专业知识考试报名时间
  17. 利用Python探测附近WIFI密码的详细代码
  18. 华师计算机学院教师资格证,教师资格认证
  19. 笔下文学小说下载【3.01】
  20. 手电筒软件测试初学者,新手学习android做得一个闪光灯手电筒(测试过很多机型都可以)...

热门文章

  1. vim 底行命令模式下的全局命令 g(global)
  2. JJWT签发与验证token
  3. axure元件库 文件上传_手把手教你打造一套属于产品经理自己的元件库
  4. 计算机网络应用层笔记--域名系统DNS
  5. axure web组件下载_实践干货:Axure插入图标的4种办法
  6. python字符串排序_Python-如何对字符串列表进行排序?
  7. C语言 | 函数执行成功时,return 1 还是return 0?
  8. endp 汇编start_飞思卡尔Kinetis L 汇编语言启动文件startup_MK25Z4简单分析
  9. 3皮卡丘眨眼代码_活见久,皮卡丘居然是一门编程语言
  10. php跳转到另外一个方法,PHP 页面跳转到另一个页面的多种方法方法总结