热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

2018-03-2800:56:39中断正在执行的代码无论是%run执行的脚本还是长时间运行的命令ctrl+cIn[1]:KeyboardInterrupt执行剪切板中的代码ctr


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 "", 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
:
File "", 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自动提取文本中的时间日期,包括使用dateutil.parser模块统一日期字符串格式和使用datefinder模块提取日期。同时,还介绍了一段使用正则表达式的代码,可以支持中文日期和一些特殊的时间识别,例如'2012年12月12日'、'3小时前'、'在2012/12/13哈哈'等。 ... [详细]
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • 如何自行分析定位SAP BSP错误
    The“BSPtag”Imentionedintheblogtitlemeansforexamplethetagchtmlb:configCelleratorbelowwhichi ... [详细]
  • 本文介绍了Python对Excel文件的读取方法,包括模块的安装和使用。通过安装xlrd、xlwt、xlutils、pyExcelerator等模块,可以实现对Excel文件的读取和处理。具体的读取方法包括打开excel文件、抓取所有sheet的名称、定位到指定的表单等。本文提供了两种定位表单的方式,并给出了相应的代码示例。 ... [详细]
  • 向QTextEdit拖放文件的方法及实现步骤
    本文介绍了在使用QTextEdit时如何实现拖放文件的功能,包括相关的方法和实现步骤。通过重写dragEnterEvent和dropEvent函数,并结合QMimeData和QUrl等类,可以轻松实现向QTextEdit拖放文件的功能。详细的代码实现和说明可以参考本文提供的示例代码。 ... [详细]
  • Java容器中的compareto方法排序原理解析
    本文从源码解析Java容器中的compareto方法的排序原理,讲解了在使用数组存储数据时的限制以及存储效率的问题。同时提到了Redis的五大数据结构和list、set等知识点,回忆了作者大学时代的Java学习经历。文章以作者做的思维导图作为目录,展示了整个讲解过程。 ... [详细]
  • 本文介绍了OC学习笔记中的@property和@synthesize,包括属性的定义和合成的使用方法。通过示例代码详细讲解了@property和@synthesize的作用和用法。 ... [详细]
  • Python语法上的区别及注意事项
    本文介绍了Python2x和Python3x在语法上的区别,包括print语句的变化、除法运算结果的不同、raw_input函数的替代、class写法的变化等。同时还介绍了Python脚本的解释程序的指定方法,以及在不同版本的Python中如何执行脚本。对于想要学习Python的人来说,本文提供了一些注意事项和技巧。 ... [详细]
  • 使用Ubuntu中的Python获取浏览器历史记录原文: ... [详细]
  • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
  • Python正则表达式学习记录及常用方法
    本文记录了学习Python正则表达式的过程,介绍了re模块的常用方法re.search,并解释了rawstring的作用。正则表达式是一种方便检查字符串匹配模式的工具,通过本文的学习可以掌握Python中使用正则表达式的基本方法。 ... [详细]
  • web.py开发web 第八章 Formalchemy 服务端验证方法
    本文介绍了在web.py开发中使用Formalchemy进行服务端表单数据验证的方法。以User表单为例,详细说明了对各字段的验证要求,包括必填、长度限制、唯一性等。同时介绍了如何自定义验证方法来实现验证唯一性和两个密码是否相等的功能。该文提供了相关代码示例。 ... [详细]
  • Imtryingtofigureoutawaytogeneratetorrentfilesfromabucket,usingtheAWSSDKforGo.我正 ... [详细]
  • Iamtryingtomakeaclassthatwillreadatextfileofnamesintoanarray,thenreturnthatarra ... [详细]
  • 本文详细介绍了Java中vector的使用方法和相关知识,包括vector类的功能、构造方法和使用注意事项。通过使用vector类,可以方便地实现动态数组的功能,并且可以随意插入不同类型的对象,进行查找、插入和删除操作。这篇文章对于需要频繁进行查找、插入和删除操作的情况下,使用vector类是一个很好的选择。 ... [详细]
author-avatar
liu-zebing_284
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有