jupyter notebook常用知识

说明
交互式shell是执行Python代码的一种重要方式,其实Python自身是打包了Python shell的,但由于ipython的易用性,我们通常在本地会使用ipython,同时,我们也可以在本地启动有图形化界面的jupyter,其内核即为ipython。这里有一篇ipython的介绍

这里罗列了常用的一些jupyter知识(快捷键,魔术命令等),不全,只是常用。除快捷键外,其他知识也适用于ipython。

对于jupyter,这里所有的命令在不说明的情况下都认为是在编辑模式之下。

jupyter快捷键介绍:这一篇文章里有很详细的快捷键介绍。

1. 常用快捷键
  • 模式转换

     转入编辑模式:enter
     转入命令模式:esc
    
  • 代码运行

     运行单元格:control+enter
     运行单元格,进入下方单元格:shift+enter
     运行单元格,在下方插入新单元格:alt+enter
    
  • 光标移动

     去上一行:up
     去下一行:down
    
  • 代码编写

     查看函数介绍:shift+tab
     缩进:ctrl+]
     解除缩进:ctrl+[
    
  • 单元格操作

     删除选中的单元:进入命令模式+双击D (不分大小写)
     折叠单元格输出:进入命令模式+O(不分大小写)
     全局查找替换:进入命令模式+F(不分大小写)
    
2. 常用魔术命令
1) 加载代码(%load)

运行命令:

	%load name.py

可以将名为name的Python文件中的代码直接加载到执行单元中,命令 %load name.py会被自动注释掉。

2) 绘图(%matplotlib)

在绘图命令之前输入命令:

	%matplotlib inline

这个命令可以确保你的图会在jupyter notebook中绘制出来。

3) 测试运行时间(%time、%timeit、%%time)

用法:在时间测试魔法命令后加上想要测试的命令

测试时间的魔法命令有三个:

%time     测试一条命令的执行时间
%timeit   测试一条命令多次执行耗时的平均值
%%time    测试本代码单元的内容

从上面的命令介绍不难看出:
%time:命令适合测试中大型函数的运行时间;
%timeit:适合测试耗时较少的命令,多次运行测试更加准确;
%%time:是一个单元魔法命令,测试的是一个单元中的命令,这样能够让我们知道执行某一代码块需要多长时间。

4) 交互变量操作(%who、%whos、%who_ls、%xdel、%reset、%store)

jupyter的内核是IPython,而IPython是一个交互式的shell,在交互的过程中有很多的交互变量,代码写长了之后很容易出现交互变量的混淆和混用,那么对这些交互变量的管理就极为重要了。

  • 显示交互变量列表

     %who 		//简单给出所有交互参数名
     %whos 		//给出交互参数名、类型、描述信息
     %who_ls 	//给出一个列表,元素为所有交互参数名
    
  • 操作交互参数
    使用以下命令可以删除交互参数:

     %xdel  name	 //删除名为name的交互参数名
     %reset 		 //删除所有交互参数名
    

    有的时候有很大的数组,我们可能想要重复使用,但是清理交互空间参数之后,这个数组就会被删除掉,这个时候我们需要将他们暂时存储起来。

    存储变量语法:

     v = value		//声明一个变量
     %store v		//将变量v存储起来
    

    再次使用存储的变量语法:

     %store -r v	//重新启用变量v
    

    值得一提的是,这样存储的变量,不仅可以在本文件中可以重新使用,也可以在其他的文件中使用。

5) 调试(%debug、%pdb)
	%debug    //进入调试模式,设置断点调试
	%pdb      //在程序运行出错之后,在出错的
		      //地方设置断点,自动进入调试
		      
    exit      //退出调试

这两种调试的方法几乎一样,区别就在于%pdb可以自动进入调试模式,并且自动设置断点。

6) 查看历史命令(%hist)
	%hist 		 //查看历史命令
	%hist  a:b   //查看从第a行到第b行的命令
7) 定义模块并调用(%%writefile、%run)

在有些时候,我们会定义一些常用的函数,我们可以将他们写入一个文件中,在我们需要使用的地方import进来使用。

	%%writefile	name.py  //向名为name的文件中写入codes
	[codes
	...
	c_end]

这样一来在下次使用name.py中的函数时,可以直接import name, 然后调用。

	%run  name.py //运行名为name的Python文件

用这个命令运行Python文件时,如果出现了错误,会给出堆栈信息,更利于排错,不会像用python命令运行时那样,只给出最简单的错误提示。

8) 查看函数源码(%psource)
	%psource func_name  //查看名为func_name的函数的源码

另外的一个查看函数源码的方法是在函数后接两个问号,在下面的问号命令里我做了介绍,%psource函数只会显示源码,而用问号的方式会显示更多介绍信息。

9) 查看魔法命令列表(%lsmagic)
%lsmagic 	//列出可使用的所有魔法命令

这个命令时非常有用的,当你做某个重复操作或者遇到问题时,不妨看一看有没有可用的魔法命令。在列表中找到感兴趣的魔法命令之后,就可以使用“?”命令查看相关魔法命令的介绍。多多探索,也许你的写代码效率会提升很多。

3. 其他
1) 问号(?)用法
  • 查看变量或函数介绍
    在变量或函数名后加上?并运行,对于函数会显示定义好的文档字符串。这一方法对于魔法函数极其好用。

  • 查看源代码
    在函数名后加两个?并运行。

  • 利用通配符搜索函数
    在jupyter中*是通配符,配合问号可用来搜索命令,如下:
    输入命令:

     np.*load*?
    

    运行得到结果:
    请添加图片描述

2) 使用ipython调试

调试部分内容较多,放在这篇文章中。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值