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. F. Maximum Weight Subset(贪心or树形dp解法)

    题:https://codeforces.com/contest/1249/problem/F 题意:给一颗树,边权为1,节点有点权,问取到一个点集,俩俩之间路径超过k,是点权和最大 思路:贪心地取点 ...

  2. Eclipse 热部署方式

    1.tomcat 热部署 1.1方法一:更改 server.xml,更改为 <Context docBase="dreamlive" path="/ROOT&quo ...

  3. fidder 抓包工具设置只拦截指定ip(服务ip)

    直接上图:

  4. Oracle-PL/SQL语句

    1.PL/SQL 2.存储过程,函数 3.java中调用存储过程和函数 4.触发器 1 PL/SQL 1.1什么是PL/SQL? n  PL:Process Language n  PL/SQL是or ...

  5. android完整资讯App、Kotlin新闻应用MVP + RxJava + Retrofit + Dagger2、优雅区间选择器等源码

    Android精选源码 Android完整资讯客户端源码 android展示注册进度效果源码 Android Wifi热点数据传输Socket 通信示例源码 Android Dota的辅助信息app源 ...

  6. [LC] 1099. Two Sum Less Than K

    Given an array A of integers and integer K, return the maximum S such that there exists i < j wit ...

  7. ROC曲线、KS曲线

    一.ROC曲线 ROC曲线由混淆矩阵为基础数据生成. 纵坐标:真阳性比率TPR,预测为正占真正为正的比例. 横坐标:假阳性比率FPR,预测为正占真正为负的比例. 除了roc曲线的纵横坐标外,还有一个准 ...

  8. 简单php递归无限mysql记录

    <?php header('content-type:text/html;charget=gb2312'); $d='';     get_title($d,0,'='); function g ...

  9. java 内存溢出-与gc

    感谢原作者 在日常中我们经常遇到这样的错误:java.lang.OutOfMemoryError: Java heap space. 但是除了heap space 的OutOfMemoryError, ...

  10. java集合 list与Set、Map区别

      1.List,Set都是继承自Collection接口,Map则不是. 2.List特点:元素有放入顺序,元素可重复 ,Set特点:元素无放入顺序,元素不可重复,重复元素会覆盖掉 ,(注意:元素虽 ...