ipythonipython入门


备注

IPython是一个用于交互式Python开发的Read-Evaluate-Print Loop shell。它支持使用GUI工具包进行交互式可视化,并为Jupyter提供内核。它也可以嵌入到其他项目中。

Python还有其他类似的REPL shell,例如ptpythonbpython

版本

发布日期
5.0.0 2016年7月7日
4.2.0 2016年4月20日
4.1.0 2016年2月2日
4.0.0 2015年8月12日
3.2.0 2015年6月21日
3.1.0 2015年4月3日
3.0.0 2015年2月27日
2.4.0 2015年1月30日
2.3.0 2014-10-01
2.2.0 2014年8月6日
2.1.0 2014年5月21日
2.0.0 2014年4月2日
0.13 2012-06-30
0.12 2011-12-19
0.11 2011-07-31
0.10 2010-09-01
0.9 2008-09-13

安装和使用

与内置的python 交互式shell一样, IPython是一个REPL( 读取 - 评估 - 打印循环 )shell,具有各种功能,使其比日常的内部REPL shell更适合日常Python开发。

安装

要安装它:

pip install ipython
 

或者,通过Anaconda

# To install into the active environment:
$ conda install ipython 

# Or, to create a new environment with IPython installed:
$ conda create -n <env_name> ipython
 

或者,通过Enthought Canopy

$ enpkg ipython
 

用法

安装完成后,使用默认的Python(2或3)运行它:

ipython
 

或者使用Python 3:

ipython3
 

ipython shell

获得帮助

?
 

这将为您提供IPython功能的介绍和概述。

object? 
 

这将列出对象及其文档的所有方法和字段(如果存在)。

object??
 

与上面相同,提供了关于对象的更多细节,特别是将尝试查找和显示对象的源代码。

object.<TAB Key>
 

TAB -completion,列出并迭代对象的可用字段/方法。由于Python的动态特性,并非所有方法都可以通过这种方式发现。默认情况下,隐藏私有方法(以_ 开头),插入_ 并再次按TAB显示它们。

%quickref
 

这将显示IPython shell的快速​​参考。

IPython与Jupyter

IPython有两个部分:一个替换默认python REPL的命令行界面和一个通过Web浏览器作为图形用户界面运行Python的方法。

随着最新的发展,浏览器部分已被拆分为Jupyter项目,该项目使多种编程语言能够使用图形界面。仍然可以使用IPython作为Python内核。

有关Jupyter的最新安装说明,请参阅官方安装文档

ipythonjupyter console ,当从命令行调用时没有任何其他参数将进入交互式终端会话,如下所示: Jupyter控制台

jupyter qtconsole 或版本5之前的ipython qtconsole 将启动基于多标签的QT控制台:

QT控制台

jupyter notebook 或版本5之前的ipython notebook 将启动服务器并默认打开一个网页,位于http://localhost:8888/tree ,其中包含当前目录的“Home”视图。这允许您以多种语言打开现有笔记本或新内核,具体取决于您已安装的内容 ;每个都将在新的浏览器选项卡中打开。

笔记本允许您混合markdown,包括MathJax ,来自您选择的内核的代码,图形和图形,图像甚至视频。 家庭观点 在此处输入图像描述

粘贴到IPython中

%paste
 

%粘贴演示

这是粘贴的主要魔术方法。它直接粘贴系统剪贴板中的文本,智能地处理换行符和缩进的常见问题。

%cpaste
 

%cpaste演示

如果您通过SSH使用IPython,请使用%cpaste ,因为它不需要访问远程系统剪贴板。

从IPython 5.0.0开始,改进的提示工具包应直接处理粘贴的多行代码而无需%paste%cpaste

在IPython上存储变量

%storemagic 在IPython的数据库中存储变量和宏。要在启动时自动恢复存储的变量,请将其添加到ipython_config.py

c.StoreMagic.autorestore = True
 

例:

In [1]: l = ['hello',10,'world']
In [2]: %store l
In [3]: exit

(IPython session is closed and started again...)

ville@badger:~$ ipython
In [1]: l
Out[1]: ['hello', 10, 'world']
 

注意:

应该注意的是,如果更改变量的值,如果要保留新值,则需要再次%存储它。

另请注意,变量需要是可选择的;最基本的python类型可以安全地%存储。