关注上方深度学习技术前沿”,选择“星标公众号”

资源干货,第一时间送达!

什么是IPython?可能很多人已经在用,却不知道它到底是什么。根据维基百科的解释:

IPython是一种基于Python的交互式解释器,提供了强大的编辑和交互功能。

IPython拥有:

  1. 满足你各种需求的交互式shell

  2. 火爆数据科学社区的Jupyter内核(供Jupyter Notebook使用)

  3. 对交互式数据可视化和GUI工具的完美支持

  4. 简单易用的高性能并行计算工具

IPython中的‘I’即代表交互的意思,所以IPython提供了丰富的工具,能更好地与python进行交互。
大家经常遇到的魔法命令,就是IPython的众多功能之一。
本文梳理IPython的50个用法,供Python爱好者参考。

注:前面说过IPython提供了jupyter内核,所以Jupyter Notebook是一个基于浏览器的IPython shell,支持IPython的所有功能,以下内容均在Jupyter Notebook环境中测试。

1. ?打印IPython简介

在IPython中直接输入?,可以打印出IPython的功能介绍

2. object ?内省功能

在变量后面加上?,可以打印出该变量的详细信息。例如图中一个列表对象,打印出该对象的类型、长度等信息。

3. object ??内省功能

???功能相似,不过??还可以查看函数或模块对象的源代码。

4. history历史命令

在IPython中,执行historyhist命令能够查看历史输入。

5. tab自动补全

IPython支持tab键自动补全。

6. ! shell_command执行shell命令

shell (windows里叫作cmd)表示使用文本与计算机进行交互的方式,在IPython中,shell命令前加上感叹号!(英文输入法)就可以直接执行。如图使用ping检测百度网址。

7.魔法命令%和%%区别

魔法命令分为两种,一种是line magics,另外一种cell magics。Line magic是通过在前面加%,表示magic只在本行有效。Cell magic是通过在前面加%%,表示magic在整个cell单元有效。

8. %run运行脚本

在IPython会话环境中,py文件可以通过%run命令当做Python程序来运行,输入%run 路径+文件名称即可。如图,e盘中有一py脚本test.py,在IPython中执行。

9.%timeit测量代码运行时间

IPython使用魔法命令%timeit来测量单行代码的运行时间。

10.%%timeit测量代码运行时间

%%timeit用来测量整个单元格代码的运行时间.

11. %pwd显示工作路径

该魔法命令用来显示当前工作目录的路径。

12. %matplotlib inline显示图像

在notebook中绘制图像时,使用%matplotlib inline命令可以将图表直接嵌入到notebook中,方便查看。

13. %conda安装第三方库

%conda install pkgs命令用于在IPython中安装python第三方库。

14. %pylab交互式计算

%pylab 魔法命令可以使numpy和matplotlib中的科学计算功能生效,这些功能被称为基于向量和矩阵的高效操作,交互可视化特性。它能够让我们在控制台进行交互式计算和动态绘图。

15. %quickref查看参考

%quickref用来查看IPython的特定语法和魔法命令参考。

16. %ls显示目录内容

%ls path命令可以用来显示特定目录下的内容。

17. 通配符*

使用通配符*?可以模糊查询方法名及属性。

18. %cd修改目录

%cd命令可以修改当前工作目录。

19. _打印前输出结果

使用一个下划线 _ 获取前一个输出结果,它是个变量,实时更新的。使用两个下划线 __可以获取倒数第二个输出,使用三个下划线 ___ 获取倒数第三个输出(没有输出的命令行不计入在内,只支持前三个输出结果)。

20. ;抑制输出

在语句后面加上;,不显示输出结果。

21. %debug交互式调试器

%debug命令支持从最新的异常跟踪的底部进入交互式调试器。在ipdb调试模式下能访问所有的本地变量和整个栈回溯。使用u和d向上和向下访问栈,使用q退出调试器。在调试器中输入?可以查看所有的可用命令列表。

22. %pdb交互式调试器

%pdb同样用于启动交互式调试器,不过支持对所有的异常进行调试。你需要事先启动%pdb命令,之后对每一个异常都会进行调试。

23. %run -d交互式调试器

%run -d用于对脚本进行调试。

24. %pycat语法高亮

%pycat filename用语法高亮显示一个python文件(不用加.py后缀名)。

25. %load加载代码

%load命令用于将脚本代码加载到当前cell。

26. %macro定义宏

%macro taskname n1 n2...用来定义宏,并给宏命名,执行指定的代码行。执行name就是执行n1 n2...这些代码。

27. %notebook导出notebook

%notebook path用于导出当前notebook内容到指定ipynb文件中。

28. %pdef打印构造信息

%pdef命令用来打印类、函数的构造信息。

29. %pdoc打印文档

%pdoc命令用来打印对象的文档字符串。

30. %precision浮点数精度

%precision命令用来设置浮点数精度,可添加具体参数,无参数则默认精度。

31. %xdel删除变量

%xdel命令用于删除变量,并尝试清楚其在IPython中的对象上的一切引用。

32. %who显示变量

%who命令用于显示当前所有变量,你也可以指定显示变量的类型。

33. %who显示变量

%who命令同样用于显示当前变量,但提供的信息更加丰富。

34. %save保存cell

%save path n1 n2..命令用于将指定cell代码保存到指定的py文件中。

35. %reset重置

%reset -f命令用于删除定义的所有变量,如果不指定参数-f,则需要确认后再重置。

36. %rerun执行前代码

%rerun命令用于执行之前的代码,可以指定历史代码行,默认最后一行。

37. %%HTML渲染HTML

%%HTML命令用于将单元格渲染为HTML输出。

38. %%javascript运行JavaScript

%%javascript命令用于运行含有JavaScript代码的cell。

39. %%latex渲染LaTeX

%%latex命令用于将LaTeX语句渲染为公式,LaTeX是一种基于ΤΕΧ的排版系统。

40. %%markdown渲染markdown

%%markdown命令用于将markdown文本渲染为可视化输出。

41. %%writefile写入文件

%%writefile命令用于将单元格内容写入到指定文件中,文件格式可为txt、py等。

42. %bookmark保存书签

%bookmark命令能够保存常用目录的别名,以便实现快速跳转,书签能够持久化保存。

43. %paste粘贴代码块

当你使用 IPython 解释器时,有件事经常让你头疼,那就是粘贴多行代码块可能会导致不可预料的错误,尤其是其中包含缩进和解释符号时。
使用%paste命令能够直接执行剪切板中的python代码块。

44. %magic获取魔法命令列表

%magic用于获取所有魔法命令及其用法。

45. InOut

常会看到IPython 中的In[1]:/Out[1]:形式的提示,它们并不仅仅是好看的装饰形式,还是包含输入、输出的变量。
In 对象是一个列表,按照顺序记录所有的命令。
Out 对象不是一个列表,而是一个字典,它将输入数字映射到相应的输出(如果有的话)

46. %xmode控制异常

%xmode命令用于控制异常输出的模式。

47. jupyter qtconsole

jupyter qtconsole 是ipython团队基于qt框架开发的一个GUI控制台。
它具有富文本编辑功能,既能够在里面实现内嵌图片、多行编辑、语法高亮等。

48. IPython导航快捷键

快捷键 动作
Ctrl + a 将光标移到本行的开始处
Ctrl + e 将光标移到本行的结尾处
Ctrl + b(或左箭头键) 将光标回退一个字符
Ctrl + f(或右箭头键) 将光标前进一个字符

49. IPython文本输入快捷键

快捷键 动作
Backspace 键 删除前一个字符
Ctrl + d 删除后一个字符
Ctrl + k 从光标开始剪切至行的末尾
Ctrl + u 从行的开头剪切至光标
Ctrl + y yank(即粘贴)之前剪切的文本
Ctrl + t transpose(即交换)前两个字符

50. IPython命令历史快捷键

快捷键 动作
Ctrl + p(或向上箭头) 获取前一个历史命令
Ctrl + n(或向下箭头) 获取后一个历史命令
Ctrl + r 对历史命令的反向搜索

-END-

深度学习技术前沿

长按二维码关注

50个关于IPython的使用技巧,get起来!相关推荐

  1. 50个Pandas的奇淫技巧:向量化字符串,玩转文本处理

    大家好,我是小伍哥. 数据处理,也是风控非常重要的一个环节,甚至说是模型成败的关键环节.因此,娴熟简洁的数据处理技巧,是提高建模效率和建模质量的必要能力.这里开个专题,总结下Pandas的使用方法,方 ...

  2. 50个Pandas的奇淫技巧:一网打尽各种索引 iloc,loc,ix,iat,at…

    数据处理,也是风控非常重要的一个环节,甚至说是模型成败的关键环节.因此,娴熟简洁的数据处理技巧,是提高建模效率和建模质量的必要能力.这里开个专题,总结下Pandas的使用方法,方便大家,也方便自己查阅 ...

  3. ipython notebook_50个关于IPython的使用技巧,get起来!

    什么是IPython?可能很多人已经在用,却不知道它到底是什么.根据维基百科的解释: IPython是一种基于Python的交互式解释器,提供了强大的编辑和交互功能. IPython拥有: 满足你各种 ...

  4. 50道面试常见问题及回答技巧

  5. 8个流行的Python可视化工具包!!!

    关注上方"深度学习技术前沿",选择"星标公众号", 资源干货,第一时间送达! 喜欢用 Python 做项目的小伙伴不免会遇到这种情况:做图表时,用哪种好看又实用 ...

  6. Python自动化用这些知识点就够了!

    曾经知乎上有人提问:用python进行办公自动化都需要学习什么知识呢? 这可能是很多非IT职场人士面临的困惑,想把python用到工作中,却不知如何下手?python在自动化办公领域越来越受欢迎,批量 ...

  7. Python爬虫+Flask,带你创建个网站!

    文化不分边界 人,为什么要读书?举个例子: 当看到天边飞鸟,你会说:"落霞与孤鹜齐飞,秋水共长天一色."而不是:"卧靠,好多鸟."; 当你失恋时你低吟浅唱道:& ...

  8. python sqlite3 带密码_Python爬虫+Flask,带你创建个网站!

    文化不分边界 人,为什么要读书?举个例子: 当看到天边飞鸟,你会说:"落霞与孤鹜齐飞,秋水共长天一色."而不是:"卧靠,好多鸟."; 当你失恋时你低吟浅唱道:& ...

  9. 敢来迎战Python开发的成语接龙游戏吗?

    游戏演示 说了这么多,让我们来先睹为快,让我来挑战一局接龙比赛吧: <游戏展示> 既然是游戏,就得来个排名才有意思啊! 之前测试了几轮数据,这次我们使用一个Neo的新用户来进行游戏,随便接 ...

最新文章

  1. 《算法竞赛中的初等数论》(三)正文 0x30 积性函数(ACM / OI / MO)(十五万字符数论书)
  2. c++运算符的全局重载
  3. go设计模式之代理模式
  4. python 双向链表_数据结构-双向链表(Python实现)
  5. springcloud的config
  6. python arcgis批量绘图_python调用ArcGIS批量生成多环缓冲区(多边形等距离放大)...
  7. 腾讯汤道生:AI是产业互联网的“中央处理器”,数字技术融合打造产业新动能
  8. .net core 装了没生效_王者荣耀:辅助装出现惊天bug?辅助光环对自己无效?
  9. 图片服务 - thumbor成像
  10. C#程序读取MAC地址的方法
  11. 对xml文件的增删改查及读写
  12. 小D课堂 - 零基础入门SpringBoot2.X到实战_第1节零基础快速入门SpringBoot2.0_5、SpringBoot2.x的依赖默认Maven版本...
  13. debian查询端口进程_Linux入门-端口和进程号
  14. 《JSP实用教程(第2版)/耿祥义》错误之tomcat虚拟服务目录
  15. 图书信息管理系统报告linux,C语言图书管理系统 带程序报告
  16. css基础知识 -- 颜色渐变
  17. EXCEL数据有效性的多级联动
  18. 【论文笔记】Enhancing Adversarial Example Transferability with an Intermediate Level Attack
  19. 加一(Java求解)
  20. Deep Unordered Composition Rivals Syntactic Methods for Text Classification

热门文章

  1. centos添加新硬盘
  2. html5 游戏图片预加载,前端实现图片(img)预加载
  3. 医院选址问题--数据结构课程设计
  4. 南邮java实验一报告_南邮JAVA程序设计实验1 综合图形界面程序设计
  5. GridSearchCV 与 RandomizedSearchCV 用法注意随机搜索可以自定义打分 or loss 函数
  6. 图片增强深度学习deep learning keras
  7. 计算机主机房的消防配置包括,信息安全等级保护之技术要求→物理安全→防火...
  8. 清华袁洋:智能医疗不是让AI替代医生,而是……
  9. 清华吴翼:从捉迷藏游戏说起,谈谈强化学习的六个开放问题
  10. 译者招募 | 这本“顶级”微积分教材,中文版要来了!