Python之IPython开发实践

Python之IPython开发实践

1. IPython有行号。

2. Tab键自动完成,当前命名空间任何与已输入字符串相匹配的变量就会被找出来。

3. 内省机制,在变量前或者后面加上(?)问号,就可以将该对象的一些通用信息显示出来。(??)两个问号显示源码。

4. (一个下划线)和_(两个下划线)分别表示最近两个输出结果。

5. 与操作系统交互。可以执行shell命令,如更改目录、将命令的执行结果保存在Python对象总等。

6. 在IPython(!)感叹号开头的命令行表示其后面的所有内容需要在系统shell中执行。

7. 目录书签系统,IPython有一个简单的目录书签系统,它使你能保存常用的别名以方便实现快速跳转如:

    %bookmark fox /home/ides/firfox/
    在定义好标签后就可以执行魔术命令%cd时使用这些标签了
    cd fox
    如果变量冲突了,可以使用-b标记(其实就是覆写)使用书签目录。
    书签和别名的区别在于,前者是自动持久化,而后者非永久性别名。

8.IPython Notebook

它是一种基于JSON文档格式.ipynb,可以轻松分享代码、输出结果、图片等内容。

9. 个性化设置在IPython_config.py(不同系统路径不同)。

10.IPython调试器命令

h(elp)      显示命令列表
help command    显示command的文档
c(ontinue)      回复程序的执行
q(uit)          退出调试器,不再执行热任何代码
b(reak) number  在当前文件的地number行设置一个断点
b path/to/file.py:number    在指定文件的第number行设置一个断点
s(tep)          单步进入函数调用
n(ext)          执行当前行,并前进到当前级别的下一行
u(p)/d(own)     在函数调用栈中向上或向下移动
a(rgs)          显示当前函数的参数
debug statement 在新的(递归)调试器中调用语句statement
l(ist) statement    显示当前行,以及当前栈级别上的上下文参考代码
w(her)          打印当前位置的完整栈跟踪(包括上下文参考代码)

11.测试代码执行时间%time和%timeit

12.基本性能分析%prun和%run -p

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏哲学驱动设计

OEA中的AutoUI重构(1) - Command自动生成

    OEA框架的核心之一是AutoUI,其职责是面向领域模型及UI元模型进行生成统一的界面。     在本次的迭代开发中,需要对命令按钮的生成方式进行一些定...

1878
来自专栏计算机编程

Vue 单文件组件详解<1>--简单上手

vue 的webpack的结构非常简单,简单的一眼就可以知道每个目录下是干啥的,在components目录下就有属于我们想要详细解析的内容,这两个vue文件即为...

801
来自专栏小狼的世界

Apache环境下页面乱码的几种可能总结

采用典型的LAMP架构开发的时候,环境中多处涉及到编码的指定,有一个地方忽略,都有可能造成页面汉字乱码的产生,本文将总结这些乱码产生的可能的原因,方便我们排查。

521
来自专栏更流畅、简洁的软件开发方式

可以通过基类实现的几种功能。vs2008 .net 2.0

    我很懒,很不喜欢写重复的代码,一行重复的都不想写,所以当同一段代码要写第二遍的时候,我就会去想避免的方法。OO的特性之一 —— 继承 —— 可以帮很大...

2119
来自专栏小白安全

JavaScript危险函数 - HTML操作

1. HTML操作函数简介  当一个方法或操作允许HTML操作,如果有可能控制(甚至部分)参数,则可能在某种程度上操纵HTML,从而获得对用户界面的控制...

4148
来自专栏ionic3+

【Appetite】ionic3实录(七)次页实现及分析解决问题【下】

一般一些js插件,是依托dom的。我们观察initSwiper方法,第一个参数'.wheel .swiper-container'其实是个选择器,所以它也是依托...

722
来自专栏ASP.NET MVC5 后台权限管理系统

Fastreport.net 如何在开发MVC应用程序时使用报表

1864
来自专栏数据结构笔记

Django搭建博客(四):渲染前数据的处理

一个简单得方法就是不直接在模板里使用 date属性,而是使用date属性的year 、month 和 day属性来拼凑我们所需的日期格式。

1032
来自专栏Python

Django-form表单

构建一个表单 假设你想在你的网站上创建一个简单的表单,以获得用户的名字。你需要类似这样的模板: ? 1 2 3 4 5 <form ac...

2797
来自专栏陈树义

Wins批处理基本语法

在Windows平台下,批处理可以和Wins系统很好地结合,处理一些简单的任务,比如:重复删除某种类型的文件;开机执行一些特定的命令等。 本文主要介绍批处理的基...

35510

扫码关注云+社区