什么是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中,执行history或hist命令能够查看历史输入。

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. %env环境变量

%env命令用于显示环境变量。

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. In和Out

常会看到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 对历史命令的反向搜索

thymealf如何实现传单个变量给html_50个关于IPython的奇技淫巧相关推荐

  1. thymealf如何实现传单个变量给html_梦回2013,看尤大vue的第一行代码,如何用30行代码实现vue(超简洁,适合初学者)...

    非非非标题党,干货预警!!! 介绍 大家好,我是清池交友 app 开发日记,记录清池交友 app 开发中学习过程和踩坑日记,伪全栈[1] 技术栈:前端 js,vue,uniapp,后端 java 尤大 ...

  2. thymealf如何实现传单个变量给html_纯前端使用JavaScript发送电子邮件,5个步骤图文教程...

    你不需要使用任何后端语言,如 PHP 或 Python.此外,你甚至不需要Node.js! 有很多方法可以读取这些数据.你可以将你的表单与数据库(如MySQL)连接,然后从数据库中读取传入的信息.好吧 ...

  3. thymealf如何实现传单个变量给html_如何远程读取西门子PLC数据?

    随着工业的发展,PLC联网进行远程监控.远程运维的需求越来越多,通常是通过PLC的通信口外接一个联网模块来实现.很多企业自动化产品与非标自动化产品安装现场地处偏僻,没有网络怎么办?随着本地通信控制的局 ...

  4. python使用什么注释语句和运算-Python基础之注释,算数运算符,变量,输入和格式化输出...

    Python的注释 注释的作用:用自己熟悉的语言,对某些代码进行标注说明,增强程序的可读性: 在python解释器解释代码的过程中,凡是#右边的,解释器都直接跳过这一行: 注释的分类 单行注释 # 这 ...

  5. jupyter怎么配置python_python-如何在Jupyter noteb中设置环境变量

    python-如何在Jupyter noteb中设置环境变量 我有一个问题,Jupyter在bashrc文件中看不到env变量,有没有办法在jupyter中加载这些变量或向其中添加自定义变量? 8个解 ...

  6. python重量转换_Python基础之注释,算数运算符,变量,输入和格式化输出

    Python的注释 注释的作用:用自己熟悉的语言,对某些代码进行标注说明,增强程序的可读性: 在python解释器解释代码的过程中,凡是#右边的,解释器都直接跳过这一行: 注释的分类 单行注释 # 这 ...

  7. Vue 踩坑日志 - 有关路由传参的坑

    1.有关路由传参 vue中当通过params传过去的参数刷新页面以后会消失,所以可以用query传参.但此时又会出现另一个坑,刷新后数据仍在.但这是针对单个的某个变量的. 如果传入一个对象的话,刷新页 ...

  8. 详细推导PCA算法(包括算法推导必备的知识)

    文章目录 1. PCA优化目标 2.理论依据 2.1 矩阵换基底 2.2 拉格朗日乘子法 2.3 协方差矩阵 2.4 特征向量和奇异值分解 2.4.1 特征向量 2.4.2 奇异值分解 2.4.3 特 ...

  9. C语言实现扫雷完整代码讲解

    扫雷是一款初学者能用C语言实现的益智小游戏,只需要用二维数组操作雷区即可. 算法详讲 : 游戏思路如下:点击雷区中的任一格子,如果该格子有雷,则游戏结束:如果该格子周围9个格子都不是雷,那么直接展开其 ...

最新文章

  1. 如何从失焦的图像中恢复景深并将图像变清晰?
  2. Caffe + windows + python3.5安装
  3. Sharding-JDBC(二)2.0.3版本实践
  4. 编译错误 fatal error C1010: unexpected end of file while looking for precompiled header directive
  5. Dynagen0.11+Pemuwrapper入手麻烦二三事——告诉初学者直路
  6. 内存经销商穷困潦倒 七元午饭都赊账
  7. 互联网红利消退,下一个机会在哪?
  8. 重力传感器 测重力代码_“重力瀑布”如何帮助您教授孩子的密码学基础知识...
  9. 零基础带你学习MySQL—备份恢复数据库(三)
  10. C# 套接字编程:Scoket,我用Scoket做的C# Windows应用程序如下:
  11. c++11 多线程编程(六)------条件变量(Condition Variable)
  12. 单机实验mysql的主从备份(master slaver)
  13. 云南机房建设整体解决方案、华为智能模块化数据中心机房
  14. android9 apk自动安装功能,Android自动安装APK
  15. bzoj2286【SDOI2011】消耗战
  16. 语音识别—声学模型训练(前向-后向算法)
  17. SEO人员快速提升关键词优化排名的方法
  18. 【ChatGPT模板】教学辅助教案篇
  19. 3dmax如何进行网络渲染?网渲云渲染渲染农场怎么用?
  20. 校招社招互联网面试经验总结

热门文章

  1. easyui datagrid java_java_easyui体系之DataGrid(4)[转]
  2. vuex commit 模块_长篇连载:Vuex源码学习(二)脉络梳理
  3. java描述常用的集合类_Java常用的集合类
  4. Python练习:站队顺序输出
  5. vuex状态持久化_Vuex持久化存储之vuex-persist
  6. python读取excel写入mysql_python读取excel写入mysql
  7. python3 判断文件是否存在_Python判断文件是否存在的三种方法
  8. 4s测试电池的软件,只需4步,不去4S店不要专业设备,你也能测出动力电池的容量...
  9. 人工智能可控核聚变量子计算机,中国终于实现了可控核聚变
  10. linux so获取自己路径,linux下so获得自己文件位置的路径