Jupyter notebook系列(2):使用技巧(快捷键,多行输出,多光标操作,Unix系统命令的使用,查看输入输出历史,保存记录点与分享,抑制文末输出,图片输出,多环境kernel切换)
Jupyter notebook 系列
Jupyter notebook系列(1):安装与使用(安装,虚拟环境的联接使用,windows远程连接linux的jupyter)
Jupyter notebook系列(2):使用技巧(快捷键,多行输出,多光标操作,Unix系统命令的使用,查看输入输出历史,保存记录点与分享,抑制文末输出,图片输出,多环境kernel切换)
Jupyter notebook系列(3):魔法函数(查询,运行外部程序,计时,加载文件,变量管理调试,shell交互,图片的显示,查询环境变量,显示运行内核函数,kernel切换)
Jupyter notebook系列(4):插件的安装使用(代码折叠,添加目录,变量监控,代码格式化,运行时间统计,自动补全,自动保存,运行结束提醒)
Jupyter notebook系列(5):主题的安装更换(主题颜色背景,字体字号大小,工具条可见,画图风格设置)
Jupyter notebook系列(6):更高级的配置Mark(显示行号,更改工作路径,使用sudo权限)
文章目录
- Jupyter notebook 系列
- 0、前言
- 1、介绍两种模式
- 1.1 模式1:命令模式`command mode`
- 1.2 模式2:编辑模式`edit mode`
- 1.3 两种模式的切换
- 2、常用快捷键
- 2.1 命令模式下的快捷键(按`Esc`进入命令模式)
- 2.2 编辑模式下的快捷键(按`Enter`进入命令模式)
- 3、多行输出
- 4、`?`的使用
- 4.1 单个`?`:快速查看文档,输出帮助提示,快速语法说明
- 4.2 `??`:快速查看源码
- 5、TAB:自动补全
- 6、多光标操作
- 7、jupyter的cell可以作为unix command使用
- 8、查看输入输出历史
- 输入历史
- 方法一:In返回输入列表
- 方法二 %history查看输入历史
- 输出历史
- 方法一:`Out`调用输出历史
- 方法二:使用下划线表示输出
- 9、在jupyter中设置link,需要设置两部分
- 10、保存记录点
- 11、分享文档
- 12、抑制末尾函数输出
- 13、图片视频音频等的输出
- 14、做一个PPT
- LAST、参考文献
0、前言
jupyter notebook是一个在线编辑器,可以在网页上编辑程序,在编辑的过程中,每次编辑一行代码就可以运行一行代码,运行的结果也可以显示在代码的下方,方便查看。当所有的程序编写和运行完毕之后,还可以直接把编辑和运行之后的所有信息保存在文件中。
1、介绍两种模式
1.1 模式1:命令模式command mode
可以对cell
等进行操作,快捷键对应于命令模式的快捷键
1.2 模式2:编辑模式edit mode
可以对代码文本进行操作,快捷键对应于编辑模式的快捷键
1.3 两种模式的切换
在一个cell
中按下enter
就进入edit mode
,按下Esc
进入command mode
。
2、常用快捷键
2.1 命令模式下的快捷键(按Esc
进入命令模式)
F
:查找并且替换
ctrl-shift-f
:打开命令配置(界面中的小键盘也可以启动)
ctrl-shift-p
:打开命令配置(界面中的小键盘也可以启动)
输入你想要的运行的命令即可搜索,比如我这里将一个cell
移动到它下一个cell
的下面:在一个cell
中(在command
模式下),然后按下 Ctrl + Shift + P
,输入 move
,键盘方向键选择要执行的命令即可,然后按下回车即可执行。
Enter
:进入编辑模式
P
:打开命令配置
Shift-Enter
:运行代码块,选择下面的代码块
Ctrl-Enter
:运行选中的代码块
Alt-Enter
:运行代码块并且插入下面
Y
:把代码块变成代码(把整个cell
变成代码)
M
:把代码块变成标签(把整个cell
变成Markdown)
R
:清除代码块格式
1
:把代码块变成heading1
2
:把代码块变成heading2
3
:把代码块变成heading3
4
:把代码块变成heading4
5
:把代码块变成heading5
6
:把代码块变成heading6
K
:选择上面的代码块
上
:选择上面的代码块
J
:选择下面的代码块
下
:选择下面的代码块
Shift-上
:扩展上面选择的代码块(是多选的含义,把现在的包含进去选择上一个)
Shift-K
:扩展上面选择的代码块(是多选的含义,把现在的包含进去选择上一个)
Shift-下
:扩展下面选择的代码块(是多选的含义,把现在的包含进去选择下一个)
Shift-J
:扩展下面选择的代码块(是多选的含义,把现在的包含进去选择下一个)
A
:在上面插入代码块
B
:在下面插入代码块
X
:剪切选择的代码块
C
:复制选择的代码块
Shift-V
:粘贴到上面
V
:粘贴到下面
Z
:撤销删除
DD
:删除选中单元格
Shift-M
:合并选中单元格,如果只有一个单元格被选中
Ctrl-S
:保存并检查
S
:保存并检查
L
:切换行号(在这个cell中显示行号)
O
:选择单元格的输出(打开或者关闭选中cell的输出,可以控制cell)
Shift-O
:切换选定单元的输出滚动(打开或者关闭cell的输出是否可以滚动,不可滚动时全部显示)
H
:显示快捷键(在没有使用Keyboard shortcut editor拓展的时候有效)
I
:中断服务
O
:重启服务(带窗口)
Esc
:关闭页面
Q
:关闭页面
Shift-L
:在所有单元格中切换行号,并保持设置
Shift-空格(Space)
:向上滚动
空格(Space)
:向下滚动
Ctrl-Home
:跳到第一个cell
Ctrl-End
:跳到最后一个cell
Shift-鼠标选择
:选择当前cell
到选中cell
的所有cell
2.2 编辑模式下的快捷键(按Enter
进入命令模式)
Tab
:代码完成或缩进
Shift-Tab
:工具提示
Ctrl-]
:缩进
Ctrl-[
:取消缩进
Ctrl-A
:全选
Ctrl-Z
:撤销
Ctrl-/
:评论
Ctrl-D
:删除整行
Ctrl-U
:撤销选择
Insert
:切换重写标志
Ctrl-Home
:跳到单元格起始处
Ctrl-上
:跳到单元格起始处
Ctrl-End
:跳到单元格最后
Ctrl-下
:跳到单元格最后
Ctrl-左
:跳到单词左边
Ctrl-右
:跳到单词右边
Ctrl-删除
:删除前面的单词
Ctrl-Delete
:删除后面的单词
Ctrl-Y
:重做
Alt-U
:重新选择
Ctrl-M
:进入命令行模式
Ctrl-Shift-F
:打开命令配置
Ctrl-Shift-P
:打开命令配置
Esc
:进入命令行模式
Shift-Enter
:运行代码块,选择下面的代码块
Ctrl-Enter
:运行选中的代码块
Alt-Enter
:运行代码块并且插入下面
Ctrl-Shift-减号
:在鼠标处分割代码块
Ctrl-S
:保存并检查
下
:光标下移
上
:光标上移
3、多行输出
一般情况下一个 Cell
后只能输出一个结果
若想要实现多行输出,请在Cell
开头添加以下代码
from IPython.core.interactiveshell import InteractiveShell
InteractiveShell.ast_node_interactivity = 'all' # 默认为'last',即输出最后一个结果
4、?
的使用
在使用过程中,我们难免会遇到一些我们并不清楚语法格式,查找官方文档是一种解决方案,不过在Jupyter Notebook
里内置了快速链接官方文档的用法(类似 Stata 的help命令),在你需要查找的函数(或库名)前敲入?
就可浏览快速语法说明。
4.1 单个?
:快速查看文档,输出帮助提示,快速语法说明
python自带的函数help()
可以获得函数对应的docstring,用iPython的?
可以得到相同的结果:
?
几乎可以查看任何信息,包括对象的方法,甚至对象本身
对于自己编写的函数,?
同样适用,但是前提是函数包含一个docstring
4.2 ??
:快速查看源码
如果没有显示源码的话,说明这个函数不是用Python写的,这种情况大多发生在Python的自建函数。
5、TAB:自动补全
6、多光标操作
Jupyter Notebook
支持多光标操作,与 Sublime Text 类似。按住 Alt
拖拽鼠标选定操作区域后,再按一下右方向键→
即可。点击任何位置返回单光标操作。
7、jupyter的cell可以作为unix command使用
IPython中可以使用Shell
指令,避免多个窗口切换。具体方法为:在unitx command
前面加入一个感叹号!
查看python版本:!python --version
运行python文件:!python myfile.py
查询安装的库:!pip list | grep pandas
Shell指令可以在这里学:Shell Tutorial
并且形如!ls
、!pwd
的输出可以通过赋值保存下来(windows系统请用!dir
这个命令)
contents = !ls
directory = !pwd
用{var}
可以把Python的对象在Shell指令中运行
message = "hello from Python"
!echo {message}
但是!cd
并不能改变文件夹的路径,需要使用%cd
来进行更换
8、查看输入输出历史
输入历史
方法一:In返回输入列表
In
是一个包含了历史输入的list,In[0]
默认为空字符串,In[1]
代表第一个输入
单个下划线_
包含了上一次的输出,两个下划线__
包含了上上次的输出,以此类推,跳过没有输出的cell
print(In[1])
方法二 %history查看输入历史
%history -n 1-8
表示查看1-4次的输入 冒号前面是第几次输入
输出历史
可以用两种方式查看输出
方法一:Out
调用输出历史
Out
返回一个含有输出的命令的序号及其输出组成的字典,两者皆可以通过索引获取元素。
方法二:使用下划线表示输出
_
表示上一个输出
__
表示前两个输出
_num
表示Out[num]
9、在jupyter中设置link,需要设置两部分
要跳到的位置(the destination)
需要在要跳转到的位置添加下面语句:<a id='the_destination'></a>1
这里的id取值任意赋值,下面在添加链接时要用
需要添加链接的文字(an internal hyperlink to the destination),即点击该处可以跳转到the destination,在需要添加链接的文字后面加入:
[需要添加连接的文字](#the_destination)1
下面是一个例子:
源码:
效果图:
10、保存记录点
Jupyter Notebook
还有一个很酷的功能:记录点。你可以为当前的 notebook 文件创建一个记录点,保存当前文件的所有状态。创建记录点之后,你可以随时返回到当前的状态,撤销这期间做出的任何修改。
要创建一个新的记录点,你只需要在菜单栏上选择 File
(文件)-> Save and Checkpoint
(保存记录点)即可。点完之后,你就会在标题旁看到 Checkpoint
保存的提示:
如果你想要返回到之前的 Checkpoint
,你只需要在菜单栏上选择 File
(文件)-> Revert to Checkpoint
(返回到记录点),并点击对应的记录点的时间戳即可。
11、分享文档
使用 Jupyter Notebook
的一个好处是可以把.ipynb
格式的文件另存为其他格式,再分享其他人。
分享 notebook 最简单的方式是直接使用 notebook 文件(.ipynb)。不过对于那些不使用 Jupyter 的人来说,你也可以这么做:
使用菜单项
File > Download as > HTML
将 notebook 转换成 HTML(python也可以 他会自动吧In、Out等注释掉变成所有cell的穿行)。使用 gist 或 github 分享 notebook,它们都会对 notebook 进行渲染展示。
- 如果你上传 notebook 到一个 github 仓库,你可以使用十分便利的mybinder服务来允许第三者半小时时间以交互性身份访问你的仓库。
安装jupyterhub, 当你组织一个小型课程或研讨会没有心思关心学生的机器状况时,这是非常方便的。
将 notebook 保存到比如 dropbox 中,然后将链接放到nbviewer. nbviewer将会渲染你存储在任何地方的notebook.
使用
File > Download as > PDF
菜单将 notebook 保存为一个 PDF。如果你打算这么做,强烈推荐你阅读 Julius Schulz 非常棒的一篇文章Making publication ready Python notebooks.使用 Pelican 搭建一个关于数据科学博客( 译者注:可在这里查看译文 )
12、抑制末尾函数输出
当我们绘制图像的时候,有时图像上方会出现一个函数的输出,比如下面这个
如果不想要这行输出,可以直接在代码末加上一个分号。
13、图片视频音频等的输出
notebook 以 HTML 的方式进行展示,cell
的输出也可以是 HTML
,所以事实上你可以返回任何东西:视频/音频/图像。
下面的例子我扫描图片文件,并输出它的缩略图。
import os
from IPython.display import display, Image
display(Image('./1.jpg', width=100))
14、做一个PPT
(但我还没学会)
[译]27 个Jupyter Notebook的小提示与技巧 - Focus on ML & DM
Damian Avila的 RISE 允许你从已有的一个 notebook 创建一个 powerpoint 风格的报告。
你可以通过 conda 安装 RISE:
conda install -c damianavila82 rise
或通过 pip:
pip install RISE
然后执行下面的代码安装并启用扩展:
jupyter-nbextension install rise --py --sys-prefix
jupyter-nbextension enable rise --py --sys-prefix
LAST、参考文献
jupyter notebook简单使用教程 - 知乎
Jupyter Notebook使用笔记(一)_y4ung-CSDN博客
Python·Jupyter Notebook各种使用方法记录·持续更新_tina的博客-CSDN博客_jupyter notebook
Python·Jupyter Notebook各种使用方法_独木不林的博客-CSDN博客_jupyter怎么运行代码
使用Jupyter Notebook的12个小技巧 - 知乎
jupyter notebook之IPython输入输出历史—初学_直心I-CSDN博客
[译]27 个Jupyter Notebook的小提示与技巧 - Focus on ML & DM
Jupyter notebook系列(2):使用技巧(快捷键,多行输出,多光标操作,Unix系统命令的使用,查看输入输出历史,保存记录点与分享,抑制文末输出,图片输出,多环境kernel切换)相关推荐
- Jupyter Notebook数据科学高效技巧
摘要: 本文有一些关于Jupyter Notebook的干货,希望看完文章可以给你带来收获 当我学习有关深度学习的优秀的fast.ai课程时,我学到了很多适用于通用软件工程的干货.我写这篇文章是为了总 ...
- Jupyter Notebook的15个技巧和窍门,可简化您的编码体验
Jupyter Notebook is a browser bases REPL (read eval print loop) built on IPython and other open-sour ...
- vscode快捷键多行批量操作-链式操作
目录 一:需要使用到的两个快捷键 ctrl+alt+ 方向键 ==>多行选择 ctrl+alt+d ==>将下一个查找匹配项添加到选择 二:GIF操作演示 微信开发者工具==&g ...
- Jupyter使用技巧+快捷键【速查手册】
文章目录 一.编辑模式与命令行模式 二.编辑模式快捷键 (1)运行代码(命令模式也可用) (2)光标跳转 (3)提示和格式 (4)操作 三.命令行模式快捷键 (1)切换 (2)单元格选择 (3)单元格 ...
- 值得你拥有的Jupyter Notebook使用技巧集锦(更新至14条)
目录 1. 键盘快捷键 2. 在notebooks中绘图 3. IPython魔法命令(Magic Commands) 4. 抑制最后一行的输出 5. 执行Shell命令 6. 用其它的语言写函数 7 ...
- Jupyter lab add kernel Python+Julia+R 【jupyter Notebook 切换Python环境】and【在jupyter Notebook中安装第三方库】
新增虚拟环境 conda create -n py2 python=2.7 进入python2的环境 conda activate py2 安装python2的内核并应用 python2 -m pip ...
- 在jupyter notebook中同时安装python2和python3
环境 win10 已安装anaconda3 How 1.安装python27> conda create -n py27 python=2.72. conda install --prefix= ...
- 桌面版应用_类Jupyter notebook编辑器桌面版应用nteract
Jupyter notebook是一款学习和科研的神奇,相信很多小伙伴已经利用它在学术科研.研究开发的道路上收获了便捷易用.可视直观的优点.我们使用的Jupyter notebook都是网页形式的,在 ...
- 利用 Python 进行数据分析 (一):IPython 及 Jupyter notebook
本文为<利用 Python 进行数据分析>的读书笔记 目录 IPython 与 Jupyter notebook 简介 IPython 基础 使用 IPython 命令行 运行 Jupyt ...
- Jupyter Notebook 在Windows下的安装和使用
Jupyter Notebook支持两种安装方式,支持conda 和pip,而pip 则更加通用和常见. pip的安装: C:\>pip install jupyterlab notebook ...
最新文章
- 41.进程池--Pool
- 网游服务端开发入门知识
- 详细理解中缀表达式并实现
- vmware 虚拟机恢复ghost镜像文件
- 硬件驱动为什么要有WHQL数字签名
- caffe solver.prototxt 生成
- 最新二开微信表情包小程序+前后端 【去授权版】
- 多目标跟踪算法中之图匹配——匈牙利算法和KM算法详解
- 使用华为云Linux宝塔面板搭建网站+遇到的报错解决
- Zxing扫码库优化思路
- 2014中国计量学院matlab考试卷,中国计量学院学习心得
- CentOS 7安装autoconf-2.69报BEGIN failed--compilation aborted at ../bin/autom4te line 37.错误解决
- 国外高性能服务器,国内高性能的外国服务器如何选_网时云服务器
- JAVAScript做的网页象棋
- 熟悉 Spring boot 的 Actuator 的使用方法(四)
- 录音服务器修复中是什么原因,在母带中修复音频的 10 个常用方法
- ios软件测试兼职,【松勤软件测试】ios app测试注意地方
- 南京大学的计算机科学与技术怎么样,南京大学计算机科学与技术考研怎么样
- Matlab连接数据库ACCESS数据库
- 多叉树 转换为二叉树 算法
热门文章
- 类EMD的“信号分解方法”及MATLAB实现(第一篇)——EEMD
- ctf 逆向 回顾与总结
- Android学习别“走弯路”,移动端混合开发框架
- java爬虫爬取b站视频分享iframe代码并保存10000条数据到数据库
- 双目测距理论及其python实现
- PDF删除页面免费的方法有什么?PDF怎么删除页面的技巧你不能错过
- Maven:repositories、distributionManagement、pluginRepositories中repository的区别(轻松搞明白)
- 停车小程序,智能停车场小程序,智能停车源码
- C语言数据结构理解语句L = (LNode * )malloc(sizeof(LNode));
- Ignite-初识Ignite