ipython与python的区别

http://mba.shengwushibie.com/itbook/BookChapter.asp?id=8745

http://www.cnblogs.com/yangze/archive/2011/07/11/2103040.html

http://matrix.42qu.com/10735149

http://www.cnblogs.com/weishun/p/great-ipython.html

http://blog.sina.com.cn/s/blog_6fb8aa0d0101r5o1.html

IPython的开发者吸收了标准解释器的基本概念,在此基础上进行了大量的改进,创造出一个令人惊奇的工具。在它的主页上是这么说的:“这是一个增强的交互式Python shell。”具有tab补全,对象自省,强大的历史机制,内嵌的源代码编辑,集成Python调试器,%run机制,宏,创建多个环境以及调用系统shell的能力。

1)IPython与标准Python的最大区别在于,Ipython会对命令提示符的每一行进行编号。如下图:

对比两个例子,其输出变量值似乎相同,其实仍有差别。print语句使用非正式的(unofficial)字符串表达式,而简单变量名(bare variable name)使用了正式的(official)字符串表达式。在处理自定义类而不是内置类时,这种差异会体现得非常明显。

In [10]: class DoubleRep(object):

....: def __str__(self):

....: return ‘Hi, I‘m a __str__‘

....: def __repr__(self):

....: return ‘Hi, I‘m a __repr__‘

....:

....:

In [11]: dr = DoubleRep()

In [12]: print dr

Hi, I‘m a __str__

In [13]: dr

Out[13]: Hi, I‘m a __repr__

2)tab补全

作为例子,我们先引入 sys 模块,之后再输入 sys. (注意有个点),此时按下 tab 键,IPython 会列出所有 sys
模块下的方法和属性。

接着上面的例子,我们输入 sys?再回车,这样会显示出 sys 模块的 docstring及相关信息。很多时候这个也是很方便的功能。

3)历史机制

hist可以快速查看那些输入的历史记录。

hist -n可以快速查看并去掉历史记录中的序号,这样你就可以方便的将代码复制到一个文本编辑器中。

一个更简单的方法是edit加Python列表的切片(slice)语法:

edit 4:7 % 将第4,5,6,7句代码导出到编辑器

4)断点调试:如果你的程序是由命令行开始执行的,即在命令行下输入 python foo.py(大部分 Python 程序都是),那么你还可以利用 IPython 在你的程序任意地方进行断点调试。

在你程序中任意地方,加入如下语句:

from IPython.Shell import IPShellEmbed

IPShellEmbed([])()

注意:最近 IPython 发布了 0.11 版本,各方面变化都非常大,API 也经过了重新设计。如果你使用的是 0.11 那么上面两行对应的是这样的:

from IPython import embed

embed()

再和平常一样运行你的程序,你会发现在程序运行到插入语句的地方时,会转到 IPython 环境下。你可以试试运行些指令,就会发现此刻 IPython 的环境就是在程序的那个位置。你可以逐个浏览当前状态下的各个变量,调用各种函数,输出你感兴趣的值来帮助调试。之后你可以照常退出 IPython,然后程序会继续运行下去,自然地你在当时 IPython 下执行的语句也会对程序接下来的运行造成影响。

这个方法是在这里(http://lukeplant.me.uk/blog/posts/exploratory-programming-with-ipython/)看到的。想象一下,这样做就像让高速运转的程序暂停下来,你再对运行中的程序进行检查和修改,之后再让他继续运行下去。这里举一个例子,比如编写网页 bot ,你在每取回一个页面后你都得看看它的内容,再尝试如何处理他获得下一个页面的地址。运用这个技巧,你可以在取回页面后让程序中断,再那里实验各种处理方 法,在找到正确的处理方式后写回到你的代码中,再进行下一步。这种工作流程只有像 Python 这种动态语言才可以做到。

时间: 2024-10-12 12:11:22

ipython与python的区别的相关文章

【python】ipython与python的区别

[python]ipython与python的区别 (2014-06-05 12:27:40) 转载▼   分类: Python http://mba.shengwushibie.com/itbook/BookChapter.asp?id=8745 http://www.cnblogs.com/yangze/archive/2011/07/11/2103040.html http://matrix.42qu.com/10735149 http://www.cnblogs.com/weishun/

ipython及Python初体验

阅读目录: Python环境体验 Python编辑器 ipython安装 Python提示符 Python初体验 print和变量 变量操作 内建函数:方法 数学运算:简单算术.随机数 关于模块 一.Python环境体验 1.常见Python编辑器介绍 1.在linux下使用vim 编辑Python脚本时,推荐--没有道理-- 2.Eclipse 3.notepad++:挺好用的一款编辑工具 4.IDLE (官方自带)交互式的开发语言集成环境 5.pycharm  第三方的工具:ipython

python语法区别

python语法区别: 大小写敏感 (动态语言:python)变量不用声明 p.s: 静态语言(Java)必须声明变量 语句末尾可以不打分号 可以直接进行数学计算 复制.粘贴功能失效,粘贴到别的地方的代码需要重新检查缩进是否正确 整数没有大小限制 浮点数也没有大小限制,但超出一定范围直接表示为inf(无限大) 原文地址:https://www.cnblogs.com/musecho/p/11666538.html

PEP8风格和python版本区别

python解释器 官方Cpython C语言开发,最广泛的Python解释器 IPython 一个交互式,功能增强的Cpython PyPy Python语言写的Python解释器,JIT技术,动态编译Python代码 Jython Python的源码编译成Java的字节码,跑在JVM上 IronPython 与Jython类似,运行在.Net平台上的解释器,Python代码被编译成.Net的字节码 版本区别 2.X和3.X区别 语句函数化,例如print(1,2)打印出1 2,但是2.x中意

安装python,setuptools,get-pip.py,ipython构建python开发环境

安装python,setuptools,get-pip.py,ipython,构建python开发环境 安装环境:Centos6.7 ,安装时选项为桌面,增加了开发工具包. 1.python2.7.11安装 下载源代码: wget https://www.python.org/ftp/python/2.7.11/Python-2.7.11.tgz 安装: ./configure make make install 2.安装setuptools wget https://pypi.python.o

ipython 和 Python交互式模式下 键盘方向键乱码的解决方法

解决办法如下: 1.安装readline模块 readline库是bash shell用的库,包含许多功能,如命令行自动补全等. ubuntu下安装的命令: sudo apt-get install libreadline-dev 2.重新安装python 在python的安装目录下,执行: make;sudo make install 现在去试试看行了不,如果还是不行,就使用python自带的readline模块 切换到python安装源码目录下的Modules目录,编辑Setup文件 取消

python一些区别

1,range和xrange的区别 前者是生成的一个是一个list对象,后者是一个生成器,要生成很大的数字序列的时候,用xrange会比range性能优很多,因为不需要一上来就开辟一块很大的内存空间.所以xrange做循环的性能比range好,尤其是返回很大的时候.尽量用xrange吧,除非你是要返回一个列表. 2,python的变量都是对数据的引用,所以: #encoding=utf-8 a = [1,3,4,5] b = a b[0] = 10 print(b) #返回的是[10,3,4,5

ipython是python的交互式shell工具

ipython: 是python的交互式shell工具,比默认的python shell工具要好用.支持变了自动补全,自动缩进,内置了很多的功能和函数 启动:可以通过cmd来启动该工具 自动补全: In [12]: import os In [13]: os.w  #直接回车,会自动显示出来该模块下的所有方法,如果我们忘记了os模块的方法具有哪些,方法记不全就可以采用这个办法os.waitpid os.walk os.write %env显示环境变量 %hist 或 %history显示历史记录

02python发展史;python;硬盘区别;cd;字符编码;

Python介绍 发展史python2,3默认编码 python 2 vs 3 硬盘区别Windows cd 应用环境变量字符编码模块初识 回顶部 1 发展史 被解救的姜戈 2.4 50万行 Python 2.6 - October 1, 2008 Python 2.6.1 - October 1, 2008 Python 2.6.6 - October 1, 2008 Python 3.0 - December 3, 2008 Python 2.7 - July 3, 2010 #目前业内主流