2018-03-28 00:56:39

中断正在执行的代码

无论是%run执行的脚本还是长时间运行的命令
ctrl + c
In [1]:
KeyboardInterrupt

执行剪切板中的代码

ctrl-shift-V

In [1]: def f(x,y,z):
...: return (x + y) / z
...: a = 5
...: b = 6
...: c = 7.5
...:

%paste,%cpaste魔术函数
%paste可以承载剪切板中的一切文本,并在shell中以整体形式执行
%cpaste跟%paste差不多,只不过多了用于粘贴代码的特殊符号

In [2]: result = f(a, b, c)

In [3]: %paste
def f(x,y,z):
return (x + y) / z
a = 5
b = 6
c = 7.5 result = f(a, b, c) ## -- End pasted text -- In [4]: %cpaste
Pasting code; enter '--' alone on the line to stop or use Ctrl-D.
"""
%cpaste在最终执行之前,你想粘贴多少就多少,若你发现粘贴的代码有错,只需按下ctrl+c可终止%cpaste提示符
"""
:def f(x,y,z):
: return (x + y) / z
:a = 5
:b = 6
:c = 7.5
:
:result = f(a, b, c)
:
:--
In [8]: %paste
def f(x,y,z):
return (x + y) / z
a = 5
b = 6
c = 7.5

如果你粘贴的是一段缩进代码,就会引发一个IndentationError
python语言还是很严格的

result = f(a, b, c)
y = 8
## -- End pasted text --
File "<ipython-input-8-74e10d8df765>", line 8
y = 8
^
IndentationError: unexpected indent In [9]: %cpaste
Pasting code; enter '--' alone on the line to stop or use Ctrl-D.
:def f(x,y,z):
: return (x + y) / z
:a = 5
:b = 6
:c = 7.5
:
:result = f(a, b, c)
: y = 8
:<EOF>
File "<ipython-input-9-74e10d8df765>", line 8
y = 8
^
IndentationError: unexpected indent

键盘快捷键

Ctrl+P或向上 后向搜索命令历史中以当前输入的文本开头的命令
Ctrl+N或向下 前向搜索命令历史中以当前输入的文本开头的命令
Ctrl+R 按行读取的反向历史搜索(部分匹配)

(reverse-i-search)`a': def add_numbers(a, b):
...: """
...: Add two numbers together
...: Returns
...: -------
...: the_sum : type of arguments
"""

Ctrl+Shift+V 从剪切板粘贴文本
Ctrl+C 中止当前正在执行的代码
Ctrl+A 将光标移到行首
Ctrl+E 将光标移到行尾
Ctrl+K 删除从光标开始至行尾的文本
Ctrl+U 清除当前的所有文本(与Ctrl+K相反)
Ctrl+F 将光标向前移到一个字符
Ctrl+B 将光标向后移到一个字符
Ctrl+L 清屏

魔术命令

In [1]: import numpy as np

In [2]: a = np.random.randn(100,100)
asd
In [3]: %timeit np.dot(a,a)
1000 loops, best of 3: 638 µs per loop

魔术命令默认可以不带百分号,只要没有定义与其同名的变量即可/
%automagic打开关闭

%quickref 显示IPython的快速参考
%magic 显示所有魔术命令的详细文档
%debug 从最新的异常跟踪的底部进入交互式调试器
%hist 打印命令的输入(可选输出)历史
%pdb 在异常发生后自动进入调试器
%paste 执行剪贴板中的Python代码
%cpaste 打开一个特殊提示符以便手工粘贴待执行的Python代码
%reset 删除interactive命名空间中的全部变量/名称
%page OBJECT 通过分页器打印输出OBJECT
%run script.py 在IPython中执行一个Python脚本文件
%prun statement 通过cProfile执行statement,并打印分析器的输出结果
%time statement 报告statement的执行时间
%timeit statement 多次执行statement以计算系综平均执行时间。对那些执行时 间非常小的代码很有用
%who、%who_ls、%whos 显示interactive命名空间中定义的变量,信息级别/冗余度可变
%xdel variable 删除variable,并尝试清除其在IPython中的对象上的一切引用

matplotlib集成与pylab模式

输入和输出变量

最近的两个输出结果分别保存在_和__变量中
输入的文本保存在_ix变量中,其中x是输入行的行号

In [1]: 2 ** 3
Out[1]: 8 In [2]: _
Out[2]: 8 In [3]: __
Out[3]: 8 In [4]: foo = 'bar' In [5]: foo
Out[5]: 'bar' In [6]: _i5
Out[6]: u'foo' In [7]: _5
Out[7]: 'bar' In [8]: exec _5

记录输入和输出变量

%logstart 即可开始记录日志
如果在写代码的过程中,突然想要保存所有工作时,直接启动日志功能就好啦

In [11]: %logstart
Activating auto-logging. Current session state plus future input saved.
Filename : ipython_log.py
Mode : rotate
Output logging : False
Raw input log : False
Timestamping : False
State : active

python学习记录_中断正在执行的代码,执行剪切板中的代码,键盘快捷键,魔术命令,输入和输出变量,记录输入和输出变量_的更多相关文章

  1. python学习:随机数的产生,随机数拼接字在脚本中的应用

    学习random的时候,看到一份表格觉得不错,转载记录到自己的笔记中: random以及它们在numpy.random中对应的函数应该会很有帮助: 注意:NumPy专门用于构建和操作大型多维数组.如果 ...

  2. 【python学习笔记】5.条件、循环和其他语句

    [python学习笔记]5.条件.循环和其他语句 print: 用来打印表达式,不管是字符串还是其他类型,都输出以字符串输出:可以通过逗号分隔输出多个表达式 import: 导入模块     impo ...

  3. Python 学习 第三天 课后总结:

    PYTHON学习第三天课后总结: 1,注释:就是对代码起到说明注解的作用.   注释分为单行注释与多行注释.  单行注释:只注释一行代码在需要注释的所在行的行首使用#号来注释此行,注意#与代码之间需要 ...

  4. Python学习day39-并发编程(各种锁)

    figure:last-child { margin-bottom: 0.5rem; } #write ol, #write ul { position: relative; } img { max- ...

  5. Python学习day09 - Python进阶(3)

    figure:last-child { margin-bottom: 0.5rem; } #write ol, #write ul { position: relative; } img { max- ...

  6. stm32学习笔记——外部中断的使用

    stm32学习笔记——外部中断的使用 基本概念 stm32中,每一个GPIO都可以触发一个外部中断,但是,GPIO的中断是以组为一个单位的,同组间的外部中断同一时间只能使用一个.比如说,PA0,PB0 ...

  7. python学习之----遍历单个域名和随机数

    实现“维基百科六度分隔理论”的查找方法.也就是说,我们要实现从埃里克 · 艾德尔的词条页面(https://en.wikipedia.org/wiki/Eric_Idle)开始,经过最少的链接点击次数 ...

  8. Python学习:18.Python异常处理

    一.为什么使用异常处理 当程序运行的时候出现了异常,导致程序终止运行,为了解决这种情况,我们需要预先对可能出现的异常进行处理,一旦出现这种异常,就使用另一种方式解决问题,还有就是错误信息是使用者没有必 ...

  9. 从零开始的Python学习Episode 11——装饰器

    装饰器 装饰器是用来处理其他函数的函数,主要作用是在不修改原有函数的情况下添加新的功能,装饰器的返回值也是一个函数对象. 简单的装饰器 import time def show_time(f): de ...

随机推荐

  1. E. Alice and the Unfair Game(推导线段树)

    题:https://codeforces.com/contest/1236/problem/E 粗自:https://www.cnblogs.com/YSFAC/p/11715522.html #in ...

  2. Sass入门指南

    转自:http://www.imooc.com/article/1413 css预处理器已经算不上一个新鲜的词了,当前比较有代表性的css预处理器有sass.less.stylus.关于三者选择问题一 ...

  3. aclocal-1.13: command not found

    原因: 将编译好的工程拷贝到系统版本不一样的系统中,再进行编译会出现此类问题. 解决方法: yum install automake autoconf yum install libtool auto ...

  4. python3下scrapy爬虫(第十三卷:scrapy+scrapy_redis+scrapyd打造分布式爬虫之配置)

    之前我们的爬虫都是单机爬取,也是单机维护REQUEST队列, 看一下单机的流程图: 一台主机控制一个队列,现在我要把它放在多机执行,会产生一个事情就是做重复的爬取,毫无意义,所以分布式爬虫的第一个难点 ...

  5. android基于MVP小说网络爬虫、宝贝社区APP、仿虎扑钉钉应用、滑动阴影效果等源码

    Android精选源码 android宝贝社区app源码 android仿Tinder最漂亮的一个滑动效果 android仿滴滴打车开具发票页,ListView粘性Header Android基于MV ...

  6. hdu6582

    题意:给定一个无向图,删除某些边有一定的代价,要求删掉使得最短路径减小,求最小代价. 分析:首先要spfa求出起点到各个点的最短距离.对于一条权值为w,起点为i,终点为j的边,设dis[k]为起点到k ...

  7. Qt QString的arg()方法的使用

    1.QString的arg()方法用于填充字符串中的%1,%2...为给定的参数,如 QString m = tr("); // m = "12:60:60: 2.它还有另外一种重 ...

  8. seckill

    京东自动登录 注:本文所做操作皆以京东web为例 包含:xpath,splinter,ocr 遇到的坑: 登录页面通过查看网页元素,能看到账户,密码唯一id,但是执行 12 browser.fill( ...

  9. Hexo博客部署

    前些天使用wordpress程序搭建了个人网站,但感觉太重比较适合个人空间,所以这次介绍Hexo搭建免费博客,先提供官网给大家英文版的请点击这里,中文版的请点击这里,在安装一个Git,再是github ...

  10. npm镜像源

    1.国内用户,建议将npm的注册表源设置为国内的镜像,可以大幅提升安装速度,先查看本机地址 npm config get registry 2.国内优秀npm镜像推荐及使用 淘宝npm镜像 ·搜索地址 ...