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. 印度视觉设计师Rishab平面设计作品,简直太美了!

    来自印度的视觉设计师Rishab Jindal(@iamrishabjindal) 你别以为仅仅是视觉上吸引你眼球. 其实融入和宗教和z哲学. 你慢慢品味一下. 这张有点意思 有一种末日丧尸围城的氛围 ...

  2. nsq 初试

    nsqlookupd tcp 4160 http 4161nsqd 4150nsqadmin 4171 1:安装$ brew install nsq1) 停止nsq默认的启动$ brew servic ...

  3. Jenkins入门,介绍、安装

    一.介绍 Jenkins: 三.安装 Jenkins:        第一种方式:        下载 windows 版本:进入 Jenkins 官网:https://jenkins.io/ 进入下 ...

  4. Chapter4_控制执行流程

    总结java中所有的与流程控制有关的知识 (1)表达式判断 Java中只允许true或者false来作为判断条件,不允许用0或者非0值作为判断条件. (2)if-else 与流程密切相关的语句,决定了 ...

  5. Python+Selenium基础篇-打开和关闭火狐浏览器

    本节介绍如何初始化一个webdriver实例对象driver,然后打开和关闭firefox浏览器.要用selenium打开fiefox浏览器.首先需要去下载一个driver插件geckodriver. ...

  6. Java程序设计(第二版)复习 第三章

    数组的使用 首先定义,然后用new生成数组,最后通过下标访问 定义 此时只是引用还未分配内存空间,需要使用new去分配内存空间,否则是无法被访问的 定义的两种方法:数据类型 数组名[];数据类型 [] ...

  7. 关于分布式事务,XA协议的学习笔记

    XA分布式事务协议,包含二阶段提交(2PC),三阶段提交(3PC)两种实现. 1.二阶段提交方案:强一致性 事务的发起者称协调者,事务的执行者称参与者. 处理流程: 1.准备阶段 事务协调者,向所有事 ...

  8. mybatis-plus 3.X 配置

    官网配置参数说明地址:https://mp.baomidou.com/config/#logicdeletevalue 本地配置:yml mybatis-plus: mapper-locations: ...

  9. Vue控制路由滚动行为

    跳转路由时,要求跳转到指定路由的某个地方,可以使用scrollBehavior方法控制. 用法: scrollBehavior(to,from,savedPosition){   } scrollBe ...

  10. Sql Server常用数据库函数小结

    查询验证存储过程是否存在 SELECT name FROM sysobjects WHERE  xtype = 'P' and name = '{0}' ----------------------- ...