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. WOW.js——在页面滚动时展现动感的元素动画效果

    插件描述:WOW.js 是一款可以实现滚动页面时触发CSS 动画效果的插件,动态效果可以使网站显示更有动感. 当页面在向下滚动的时候,使用WOW.js可以让页面元素产生细小的动画效果,从而引起浏览者注 ...

  2. 浏览器加载、渲染html的顺序和页面优化

    浏览器加载和渲染html的顺序 1. IE下载的顺序是从上到下,渲染(就是把请求的内容显示到浏览器屏幕上)的顺序也是从上到下,下载和渲染是同时进行的. 2. 在渲染到页面的某一部分时,其上面的所有部分 ...

  3. SQL数据库的查询方法

    简单查询: 一.投影 select * from 表名 select 列1,列2... from 表名 select distinct 列名 from 表名 二.筛选 select top 数字 列| ...

  4. 对Java8新的日期时间类的学习(一)

    引用自Java译站http://it.deepinmind.com/java/2015/03/17/20-examples-of-date-and-time-api-from-Java8.html 除 ...

  5. 文件加密,密码加密,os模块

    序列化模块 (非常非常重要) 序列化:将一个数据结构(list,dict....)转化成一个特殊的序列(特殊的字符串)的过程. # l1 = [1, 2, 3] # ret = str(l1) # p ...

  6. be accustomed to doing|actual |acute|adapt |

    Sometimes you've got to play a position that you're not accustomedto for 90 minutes, " he said. ...

  7. deeplearning.ai 改善深层神经网络 week1 深度学习的实用层面

    1. 应用机器学习是高度依赖迭代尝试的,不要指望一蹴而就,必须不断调参数看结果,根据结果再继续调参数. 2. 数据集分成训练集(training set).验证集(validation/develop ...

  8. spring和mybatis整合报错:org.springframework.beans.MethodInvocationException: Property 'dataSource' threw exception; nested exception is java.lang.NoClassDefFoundError

    Exception in thread "main" org.springframework.beans.factory.UnsatisfiedDependencyExceptio ...

  9. Linux上部署Tomcat+Nginx负载均衡

    前提:配置好了JDK. 我这里是vm上的linux虚拟机,可能不适用于所有情况. 一.Linux上配置Tomcat 1.下载地址:https://tomcat.apache.org/download- ...

  10. 查看python版本和django版本

    python --version 在python shell中: import sys sys.version import django django.VERSION