IPython介绍

栏目: Python · 发布时间: 7年前

内容简介:IPython介绍

本文编写时,IPython最新的版本为6.3和5.4。

介绍

IPython 是 Fernando 在 2001 开始开发的一个交互式的 Python 解释执行环境。众所周知,Python提供了一个交互执行的环境,在命令行输入 python 或者 python3 就可以进入Python的命令行环境,但在实际工作中并不方便,IPython则提供了一个更为强大的环境,主要包括以下几方面内容:

  • 一个强大的交互式 Shell 环境
  • Jupyter 内核
  • 支持交互式的数据可视化
  • 灵活,可被嵌入到单独的工程中
  • 使用简单,并行计算的高效工具

本文依次介绍这几个方面,方便大家熟悉IPython环境。

Mac 下的安装

安装非常简单,我的Python版本时3.6,所以用了 pip3,如果需要jupyter notebook或者Qt支持,也需要同步安装jupyter。Python数据分析这本书中推荐使用 EDM 这是一个集成环境,可能对软件依赖管理的比较好,其实自己安装也没什么问题。

pip3 install ipython
pip3 install jupyter

交互式Shell环境

命令行输入IPython就可以进入ipython的环境,输入前面包含In和行号,输出包含Out和行号。

IPython介绍

与操作系统交互

IPython和操作系统结合的非常紧密,可以直接在命令行中执行操作系统的命令。

记录命令历史

IPython在本地磁盘维护了一个小型的数据库来记录用户输入的历史以及输出的日志,并且提供了几个快捷键,方便大家快速查找历史命令。还可以用 %hist 来查看输入的历史记录。

快捷键 功能描述
Ctrl + P 向上搜索历史,等同于向上箭头
Ctrl + N 向下搜索历史,等同于向下箭头
Ctrl + R 增量搜索历史记录,这个命令玩过 Linux 的同学应该比较熟悉

输入和输出变量

IPython环境对用户的输入和输出都会记录。输入记录用 ___ 表示。输入变量保存在 _iX 格式的变量中,X表示行号。

目录书签系统

IPython提供了一个简单的目录书签系统,可以方便我们快速切换目录。书签会被自动初始化,这样可以在不同会话间保留。

In [1]: %bookmark -l
Current bookmarks:
baby -> /Users/rousseau/Projects/python.my/pydata-book/datasets/babynames

In [2]: %bookmark moviedb /Users/rousseau/Projects/python.my/pydata-book/datasets/movielens

In [3]: %bookmark -l
Current bookmarks:
baby    -> /Users/rousseau/Projects/python.my/pydata-book/datasets/babynames
moviedb -> /Users/rousseau/Projects/python.my/pydata-book/datasets/movielens

内省

使用 ? 可以查看对象的一些信息。

使用 ?? 可以查看对象的源码(如果可能)

%run 命令

在IPython环境中,所有文件都可以通过%run命令当作Python程序来运行。我理解就是把Python脚本放到一个新的命名空间中进行后台运行,通过IPython交互环境,可以调用现实Python程序中的变量。

执行剪贴板中的代码

对于一线代码片段,可以拷贝到IPython的环境中执行查看结果,但是对于有空行的代码,直接使用操作系统的复制粘贴快捷键会报错,这个时候需要使用 %paste%cpaste 这两个魔术函数。 %paste 函数会将粘贴板中的代码粘贴到交互式命令行中。 %cpaste 函数执行后,进入一个交互环境,只有输入 __ 或者Ctrl+D才结束代码的复制。

魔术命令

IPython中提供了一些以 % 开头的特殊命令,我们称这些命令为魔术命令 Magic Command。魔术命令可以认为是IPython系统中的命令行程序,使用 ? 可以查看选项。魔术命令也可以不带百分号直接使用,只要没有定义与其同名的变量就可以,这个技术叫做 automagic ,可以通过 %automagic 打开或关闭。可以在IPython中查看相关文档,输入 %magic 即可。

常用的魔术命令

命令 命令解释
%quickref 现实IPython的快速参考
%magic 显示所有magic命令的详细文档
%debug 从最新的异常跟踪的底部进入交互式调试器
%hist 打印命令输入的历史
%timeit 测试脚本的运行时间,多次执行以获得代码的平均执行时间
%automagic 控制automagic功能是否开启
%paste 执行剪贴板中的Python代码
%reset 删除interactive命名空间中的全部变量/名称
%run script.py 在IPython中执行一个Python脚本
%logstart 开始会话日志记录功能

交互式数据可视化

IPython支持给予Qt框架的GUI控制台,如下图所示。

IPython介绍

IPython可以与matplotlib密切结合。

软件开发利器

%debug

%pdb

本文为作者原创,如果您觉得本文对您有帮助,请随意打赏,您的支持将鼓励我继续创作。

IPython介绍

参考资料:

1、 IPython

2、 Jupyter

3、 matplotlib


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

平台革命:改变世界的商业模式

平台革命:改变世界的商业模式

[美]杰奥夫雷G.帕克(Geoffrey G. Parker)、马歇尔W.范·埃尔斯泰恩(Marshall W. Van Alstyne)、桑基特·保罗·邱达利(Sangeet Paul Choudary) / 志鹏 / 机械工业出版社 / 2017-10 / 65.00

《平台革命》一书从网络效应、平台的体系结构、颠覆市场、平台上线、盈利模式、平台开放的标准、平台治理、平台的衡量指标、平台战略、平台监管的10个视角,清晰地为读者提供了平台模式最权威的指导。 硅谷著名投资人马克·安德森曾经说过:“软件正在吞食整个世界。”而《平台革命》进一步指出:“平台正在吞食整个世界”。以平台为导向的经济变革为社会和商业机构创造了巨大的价值,包括创造财富、增长、满足人类的需求......一起来看看 《平台革命:改变世界的商业模式》 这本书的介绍吧!

MD5 加密
MD5 加密

MD5 加密工具

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具