1- IPython简介

IPython(interactive Python) provides a rich architecture for interactive computing with:
  • A powerful interactive shell.
  • A kernel for Jupyter.
  • Support for interactive data visualization and use of GUI toolkits.
  • Flexible, embeddable interpreters to load into your own projects.
  • Easy to use, high performance tools for parallel computing.
 

2- 安装IPython

  • 利用pip安装:“pip install ipython”;
  • 在命令行下执行“ipython”命令启动交互式shell;
  • 使用“In[1]、out[1]” 作为输入输出行的序号,按下回车立刻显示相应的结果;
注意:在同时安装了Python2和Python3的环境中,可以尝试“ipython”或“ipython3”来分别启动不同Python版本下的IPython;
 
>ipython
Python 2.7.14 (v2.7.14:84471935ed, Sep 16 2017, 20:19:30) [MSC v.1500 32 bit (In
tel)]
Type "copyright", "credits" or "license" for more information. IPython 5.5.0 -- An enhanced Interactive Python.
? -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help -> Python's own help system.
object? -> Details about 'object', use 'object??' for extra details. In [1]: str = "hello world" In [2]: str
Out[2]: 'hello world' In [3]: exit

3- 使用IPython

  • 帮助信息:“ipython -h”或“ipython --help”
  • 异常追踪:执行出现异常时,IPython 默认会打印整个调用栈跟踪,并显示发生异常的附近的几行代码作为上下文参考;
  • 命令补全:Tab键,显示匹配的变量(对象、函数等);
  • 对象内省:
    • 在变量前面或后面加上一个问号(?),显示有关该对象的一些通用信息;
    • 如果对象是一个函数或实例方法,则会显示其docstring;使用双问号(??)显示该函数的源代码;
    • 可以使用通配符(*)显示匹配的字符串;
In [18]: str = "this is a test"

In [19]: str
Out[19]: 'this is a test' In [20]: str?
Type: str
String form: this is a test
Length: 14
Docstring:
str(object='') -> string Return a nice string representation of the object.
If the argument is a string, the return value is the same object. In [21]:

4- 魔术命令

以百分号(%)为前缀的特殊命令,可以提供很多实用便利的功能(若命令不与变量名冲突,百分号可省略);
# 常用魔术命令
%quickref 显示 IPython 的快速参考
%magic 显示所有魔术命令详细文档
%debug 从最新的异常跟踪的底部进入交互式解释器
%hist 打印命令的输入历史
%pdb 在异常发生后自动进入调试器
%paste 执行剪贴板中的 Python 代码
%cpaste 打开一个特殊提示符,便于手动粘贴待执行的 Python代码
%reset 删除命令空间中的全部变量
%run script.py 执行一个 Python 脚本
%time statement 报告 statement 的执行时间
%timeit statement 多次执行 statement 以计算平均执行时间
%who、%who_ls、%whos 显示命令空间中定义的变量,三种不同信息级别
%xdel variable 删除 variable,并尝试清除其在 IPython 中的对象上的一切引用 # 显示帮助信息
%magic 浏览全部魔术命令的详细文档
%<command>? 查看指定魔术命令的详细用法 # 代码测试
%time 检测任意 Python 语句的执行时间
%run 可以在一个空的命令空间(无法访问IPython 中导入的包)中运行脚本,Ctrl+C停止脚本 # 复制粘贴
%paste 将剪切板中的文本粘贴交互命令行整体执行
%cpaste 复制粘贴或输入代码到交互命令行整体执行,输入结束符 ‘--’ 或Ctrl+D结束粘贴,建议使用,因为出错的可能性更小

示例:检测任意 Python 语句的执行时间

In [1]: %time print "hello world"
hello world
Wall time: 0 ns In [2]: %time print 'hello world'
hello world
Wall time: 1e+03 µs In [3]:

示例:复制粘贴

In [1]: %paste
def test(a, b):
return a+b
a = 1
b = 2
ans = test(a, b) ## -- End pasted text -- In [2]: test
Out[2]: <function __main__.test> In [3]: test(222,333)
Out[3]: 555 In [4]: In [4]: %cpaste
Pasting code; enter '--' alone on the line to stop or use Ctrl-D.
:def hi():
: print 'hi'
:ha = 'haha'
:-- In [5]: hi
Out[5]: <function __main__.hi> In [6]: hi()
hi In [7]: ha
Out[7]: 'haha' In [8]:

5- 常用快捷键

Ctrl-P 或上箭头键 后向搜索命令历史中以当前输入的文本开头的命令
Ctrl-N 或下箭头键 前向搜索命令历史中以当前输入的文本开头的命令
Ctrl-R 按行读取的反向历史搜索(部分匹配) Ctrl-Shift-v 从剪贴板粘贴文本
Ctrl-C 中止当前正在执行的代码
Ctrl-D 退出IPython会话 Ctrl-A 将光标移动到行首
Ctrl-E 将光标移动到行尾
Ctrl-K 删除从光标开始至行尾的文本
Ctrl-U 清除当前行的所有文本译注 Ctrl-L 清屏

  

 

Python - IPython的更多相关文章

  1. Python——IPython和NumPy

    IPython: 一个增强的Python shell:许多python对象的显示形式更友好.更详细的异常显示.增加额外的命令交互式数据处理 Tab键自动完成: 键入一些内容之后,按Tab键,显示可能的 ...

  2. Python——ipython(python programming)

    Tab自动补充 Ctrl+c中断程序 ?帮助调出文档   _得到上次的结果 ,__的到上上次结果,___得到上上次结果  %开头的为魔术命令  %timeit 得到运算时间,多次求平均  %%time ...

  3. python ipython spyder

    ipython usage: ipython qtconsole --pylab inline anacond usage: 1. spyder 1. source ~/anacond/bin/act ...

  4. python ipython notebook或者 jupyter notebook 的安装

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

  5. Python&&ipython安装注意事项

    yum源里没有,需要先安装一个epel-release这个包,它提供的yum源里有,然后在yum install python-pip.ftp://ftp.muug.mb.ca/mirror/cent ...

  6. 阿里云centOS6 下python安装及配置、pip安装及配置、ipython安装及配置

    我是在阿里云服务器上进行的python环境搭建,阿里云服务器会自带python但是版本低,所以打算自己安装一个,期间遇到各种问题,而且百度根本不够用无奈上的外网很快解决了.在此分享一下. 一.pyth ...

  7. ipython及Python初体验

    阅读目录: Python环境体验 Python编辑器 ipython安装 Python提示符 Python初体验 print和变量 变量操作 内建函数:方法 数学运算:简单算术.随机数 关于模块 一. ...

  8. Python数据科学安装Numby,pandas,scipy,matpotlib等(IPython安装pandas)

    Python数据科学安装Numby,pandas,scipy,matpotlib等(IPython安装pandas) 如果还没有本地安装Python.IPython.notebook等请移步 上篇Py ...

  9. Python数据科学手册(1) IPython:超越Python

    1.1 shell还是Notebook Jupyter Notebook 是 IPython shell 基于浏览器的图形界面,提供了一系列丰富的动态展示功能.Jupyter Notebook 不仅可 ...

随机推荐

  1. 深入理解JVM(七)JVM类加载机制

    7.1JVM类加载机制 虚拟机把数据从Class文件加载到内存,并且校验.转换解析和初始化最终形成可以被虚拟机使用的Java类型,这就是虚拟机的类加载机制. 7.2类加载的时机 1.类加载的步骤开始的 ...

  2. composer require aliyuncs/oss-sdk-php

    composer require aliyuncs/oss-sdk-php composer install require_once __DIR__ . '/vendor/autoload.php' ...

  3. 三、PyQt5不同方法创建菜单栏、工具栏和状态栏

    创建菜单栏.工具栏和状态栏可以直接通过代码实现,也可以通过Qt Designer中的属性编辑器等实现.通过两种方法的学习可以加深理解,更好的掌握PyQt5. 一.菜单栏与状态栏 状态栏的设置比较简单, ...

  4. Java实现产生一个int数组,长度为100,并向其中随机插入1-100,并且不能重复。

    public static void main(String[] args){ //创建一个int数组,长度为100, int n = 100; int[] arrayInt = new int[n] ...

  5. Scrum冲刺阶段3

    成员今日完成的任务 人员 任务 何承华 美化主界面 陈宇 后端设计 丁培辉 美化主界面 温志铭 主页面的设计 杨宇潇 主页面的设计 张主强 服务器构建 成员遇到的问题 人员 问题 何承华 主页面美化意 ...

  6. The First Day Of Cnblogs

    The fear of the LORD is the beginning of wisdom,and knowledge of the Holy One is understanding. ——Pr ...

  7. 2019.03.09 bzoj4491: 我也不知道题目名字是什么(线段树)

    传送门 题意:给定一个序列A[i],每次询问l,r,求[l,r]内最长子串,使得该子串为不上升子串或不下降子串. 思路: 注意要求的是子串而不是子序列!!! 然后直接用线段树维护最大子段和的方式合并一 ...

  8. vue-element 动态单选多选全选

    实现效果如图 数据格式如下: pps: [{"code":"6","createTime":"2018-09-07 00:00:0 ...

  9. SSM+MyBatis框架详解

  10. 查询树节点、oracle、select...start with...connect by prior...

    通过子节点向根节点追朔. select * from persons.dept start with deptid=76 connect by prior paredeptid=deptid 通过根节 ...