首页 最新 热门 推荐

  • 首页
  • 最新
  • 热门
  • 推荐

Jupyter notebook系列(2):使用技巧(快捷键,多行输出,多光标操作,Unix系统命令的使用,查看输入输出历史,保存记录点与分享,抑制文末输出,图片输出,多环境kernel切换)

  • 25-03-03 18:42
  • 2244
  • 13388
blog.csdn.net

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等进行操作,快捷键对应于命令模式的快捷键

image-20201117102953672

1.2 模式2:编辑模式edit mode

可以对代码文本进行操作,快捷键对应于编辑模式的快捷键

image-20201117103013969

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 ,键盘方向键选择要执行的命令即可,然后按下回车即可执行。

image-20201118094250990

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后只能输出一个结果

image-20201117151258983

若想要实现多行输出,请在Cell开头添加以下代码

from IPython.core.interactiveshell import InteractiveShell
InteractiveShell.ast_node_interactivity = 'all' # 默认为'last',即输出最后一个结果
  • 1
  • 2

image-20201117151419862

4、?的使用

在使用过程中,我们难免会遇到一些我们并不清楚语法格式,查找官方文档是一种解决方案,不过在Jupyter Notebook里内置了快速链接官方文档的用法(类似 Stata 的help命令),在你需要查找的函数(或库名)前敲入?就可浏览快速语法说明。

4.1 单个?:快速查看文档,输出帮助提示,快速语法说明

python自带的函数help()可以获得函数对应的docstring,用iPython的?可以得到相同的结果:

image-20201117151808835

?几乎可以查看任何信息,包括对象的方法,甚至对象本身

对于自己编写的函数,?同样适用,但是前提是函数包含一个docstring

image-20201117151935594

4.2 ??:快速查看源码

如果没有显示源码的话,说明这个函数不是用Python写的,这种情况大多发生在Python的自建函数。

image-20201117152100676

5、TAB:自动补全

image-20201117152318645

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
  • 1
  • 2

用{var}可以把Python的对象在Shell指令中运行

message = "hello from Python"
!echo {message}
  • 1
  • 2

但是!cd并不能改变文件夹的路径,需要使用%cd来进行更换

image-20201118155108018

8、查看输入输出历史

输入历史

方法一:In返回输入列表

In是一个包含了历史输入的list,In[0]默认为空字符串,In[1]代表第一个输入

image-20201118141647085

单个下划线_包含了上一次的输出,两个下划线__包含了上上次的输出,以此类推,跳过没有输出的cell

print(In[1])
  • 1

img

方法二 %history查看输入历史

%history -n 1-8
  • 1

表示查看1-4次的输入 冒号前面是第几次输入

image-20201118141906372

输出历史

可以用两种方式查看输出

方法一:Out调用输出历史

Out返回一个含有输出的命令的序号及其输出组成的字典,两者皆可以通过索引获取元素。

image-20201118142608153

方法二:使用下划线表示输出

_表示上一个输出

__表示前两个输出

_num表示Out[num]

image-20201118142722245

9、在jupyter中设置link,需要设置两部分

  • 要跳到的位置(the destination)
    需要在要跳转到的位置添加下面语句:

    1
    
    • 1

    这里的id取值任意赋值,下面在添加链接时要用

  • 需要添加链接的文字(an internal hyperlink to the destination),即点击该处可以跳转到the destination,在需要添加链接的文字后面加入:

    [需要添加连接的文字](#the_destination)1
    
    • 1
  • 下面是一个例子:
    源码:
    这里写图片描述
    效果图:
    这里写图片描述

10、保存记录点

Jupyter Notebook 还有一个很酷的功能:记录点。你可以为当前的 notebook 文件创建一个记录点,保存当前文件的所有状态。创建记录点之后,你可以随时返回到当前的状态,撤销这期间做出的任何修改。

要创建一个新的记录点,你只需要在菜单栏上选择 File(文件)-> Save and Checkpoint(保存记录点)即可。点完之后,你就会在标题旁看到 Checkpoint 保存的提示:

image-20201118144304047

如果你想要返回到之前的 Checkpoint,你只需要在菜单栏上选择 File(文件)-> Revert to Checkpoint(返回到记录点),并点击对应的记录点的时间戳即可。

image-20201118144220206

11、分享文档

使用 Jupyter Notebook的一个好处是可以把.ipynb格式的文件另存为其他格式,再分享其他人。

img

分享 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、抑制末尾函数输出

当我们绘制图像的时候,有时图像上方会出现一个函数的输出,比如下面这个

image-20201118144010173

如果不想要这行输出,可以直接在代码末加上一个分号。

image-20201118144021809

13、图片视频音频等的输出

notebook 以 HTML 的方式进行展示,cell 的输出也可以是 HTML,所以事实上你可以返回任何东西:视频/音频/图像。

下面的例子我扫描图片文件,并输出它的缩略图。

import os
from IPython.display import display, Image
display(Image('./1.jpg', width=100))
  • 1
  • 2
  • 3

image-20201118152634045

14、做一个PPT

(但我还没学会)

[译]27 个Jupyter Notebook的小提示与技巧 - Focus on ML & DM

Damian Avila的 RISE 允许你从已有的一个 notebook 创建一个 powerpoint 风格的报告。

你可以通过 conda 安装 RISE:

conda install -c damianavila82 rise
  • 1

或通过 pip:

pip install RISE
  • 1

然后执行下面的代码安装并启用扩展:

jupyter-nbextension install rise --py --sys-prefix
jupyter-nbextension enable rise --py --sys-prefix
  • 1
  • 2

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

注:本文转载自blog.csdn.net的呆呆象呆呆的文章"https://blog.csdn.net/qq_41554005/article/details/109571838"。版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。如有侵权,请联系我们删除。
复制链接
复制链接
相关推荐
发表评论
登录后才能发表评论和回复 注册

/ 登录

评论记录:

未查询到任何数据!
回复评论:

分类栏目

后端 (14832) 前端 (14280) 移动开发 (3760) 编程语言 (3851) Java (3904) Python (3298) 人工智能 (10119) AIGC (2810) 大数据 (3499) 数据库 (3945) 数据结构与算法 (3757) 音视频 (2669) 云原生 (3145) 云平台 (2965) 前沿技术 (2993) 开源 (2160) 小程序 (2860) 运维 (2533) 服务器 (2698) 操作系统 (2325) 硬件开发 (2491) 嵌入式 (2955) 微软技术 (2769) 软件工程 (2056) 测试 (2865) 网络空间安全 (2948) 网络与通信 (2797) 用户体验设计 (2592) 学习和成长 (2593) 搜索 (2744) 开发工具 (7108) 游戏 (2829) HarmonyOS (2935) 区块链 (2782) 数学 (3112) 3C硬件 (2759) 资讯 (2909) Android (4709) iOS (1850) 代码人生 (3043) 阅读 (2841)

热门文章

101
推荐
关于我们 隐私政策 免责声明 联系我们
Copyright © 2020-2025 蚁人论坛 (iYenn.com) All Rights Reserved.
Scroll to Top