IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> jupyter notebook常用知识 -> 正文阅读

[开发工具]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调试

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

  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2021-12-02 16:58:30  更:2021-12-02 16:59:07 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 16:37:48-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码