JupyterLab使用指南(二):JupyterLab基础
第2章 JupyterLab基础
2.1 JupyterLab界面介绍
JupyterLab的用户界面非常直观和灵活。它包括文件浏览器、工作区、多标签页、命令面板和侧边栏等功能。以下是各个部分的详细介绍:
2.1.1 文件浏览器
文件浏览器位于界面左侧,用于导航和管理文件。你可以在文件浏览器中执行以下操作:
- 导航文件夹:双击文件夹图标打开文件夹。
- 新建文件或文件夹:点击顶部的“+”按钮新建文件或文件夹。
- 重命名和删除文件:右键点击文件或文件夹进行重命名或删除。

2.1.2 工作区和多标签页
工作区是JupyterLab的核心区域,支持多标签页的操作方式。你可以在工作区中打开多个文件和面板,并根据需要调整它们的位置和大小。
- 打开文件:双击文件浏览器中的文件,文件会在工作区中打开一个新的标签页。
- 拖放标签页:拖动标签页到工作区的不同位置,可以实现分屏操作。
- 关闭标签页:点击标签页上的“x”按钮关闭标签页。

2.1.3 命令面板和快捷键
命令面板是JupyterLab中的强大工具,可以快速访问各种命令和操作。按下Ctrl+Shift+C(Windows/Linux)或Cmd+Shift+C(macOS)打开命令面板。
- 搜索命令:在命令面板中输入关键词快速找到相关命令。
- 执行命令:点击命令或按回车键执行命令。
- 自定义快捷键:通过设置自定义快捷键,提高工作效率。

2.1.4 侧边栏和扩展面板
侧边栏位于界面左侧,包含文件浏览器、运行面板、命令面板等。扩展面板可以添加更多功能,例如Git集成、数据集浏览器等。
- 切换面板:点击侧边栏顶部的图标切换不同的面板。
- 调整面板大小:拖动侧边栏的边缘调整面板大小。

2.2 创建和管理Notebook
Jupyter Notebook是JupyterLab的核心功能之一,它允许你在一个文档中编写代码、运行代码、可视化结果并添加解释性文字。
2.2.1 创建新的Notebook
- 新建Notebook:在文件浏览器中点击“+”按钮,然后选择“Notebook”。
- 选择内核:新建Notebook时,选择你想要使用的内核(如Python、R等)。
2.2.2 Notebook单元格类型
Notebook由多个单元格组成,每个单元格可以包含代码、Markdown文本或原始文本。
- 代码单元格:用于编写和运行代码。按
Shift+Enter运行代码单元格。 - Markdown单元格:用于编写富文本内容,支持Markdown语法。按
Shift+Enter渲染Markdown单元格。 - 原始文本单元格:用于包含不渲染的文本。
2.2.3 运行和管理单元格
- 运行单元格:选择单元格后按
Shift+Enter运行当前单元格,并选择下一个单元格。 - 插入单元格:在当前单元格上方或下方插入新的单元格。使用快捷键
A(上方)或B(下方)。 - 删除单元格:选择单元格后按
D两次删除当前单元格。 - 移动单元格:选择单元格后按
↑或↓移动单元格。
2.2.4 保存和导出Notebook
- 保存Notebook:按
Ctrl+S(Windows/Linux)或Cmd+S(macOS)保存当前Notebook。 - 导出Notebook:点击菜单栏中的“File” -> “Export Notebook As…”,选择导出格式(如HTML、PDF等)。
2.3 文档和代码编辑器
除了Notebook,JupyterLab还提供了强大的文档和代码编辑器,支持多种文件格式。
2.3.1 创建和编辑文档
- 新建文档:在文件浏览器中点击“+”按钮,然后选择你想要创建的文档类型(如Markdown、纯文本)。
- 编辑文档:双击文件浏览器中的文档,在工作区中打开并编辑。
2.3.2 代码编辑器功能
JupyterLab的代码编辑器支持多种编程语言和文件格式,提供了丰富的功能。
- 语法高亮:代码编辑器支持多种语言的语法高亮,帮助你更好地阅读和编写代码。
- 自动补全:按
Tab键自动补全代码,提高编写效率。 - 多光标编辑:按住
Alt键(Windows/Linux)或Option键(macOS)并点击,可以创建多个光标同时编辑。
2.3.3 语法高亮和自动补全
JupyterLab的代码编辑器提供了强大的语法高亮和自动补全功能,支持多种编程语言。
- 语法高亮:不同语言的代码会以不同颜色显示,帮助区分不同类型的代码。
- 自动补全:在编写代码时,按
Tab键触发自动补全,提高编写效率。
2.3.4 代码运行和调试
虽然JupyterLab的代码编辑器主要用于编辑代码,但你也可以使用终端或Notebook来运行和调试代码。
- 运行代码:在Notebook中运行代码单元格,查看运行结果。
- 调试代码:使用Notebook中的调试工具(如%debug魔法命令)进行代码调试。
总结
本章详细介绍了JupyterLab的基础知识,包括界面介绍、Notebook的创建和管理、文档和代码编辑器的使用。通过学习本章内容,你应该已经掌握了JupyterLab的基本操作,并能够创建和管理Notebook和其他文档。在接下来的章节中,我们将进一步探讨JupyterLab的高级功能和应用。
相关文章:
JupyterLab使用指南(二):JupyterLab基础
第2章 JupyterLab基础 2.1 JupyterLab界面介绍 JupyterLab的用户界面非常直观和灵活。它包括文件浏览器、工作区、多标签页、命令面板和侧边栏等功能。以下是各个部分的详细介绍: 2.1.1 文件浏览器 文件浏览器位于界面左侧,用于导航和管理文件。你可…...
ubuntu18.04 + openssl + engine + pkcs11+ softhsm2 双向认证测试
安装环境 openssl 1.1.1 pkcs11-tool (由sudo apt-get install opensc 安装) libpksc11 (需源码安装apt install 只有libp11, 源码安装才有 libpksc11.so -> pkcs11.so) softhsm2 (由sudo apt-get install softhsm…...
【C++】类和对象2.0
俺来写笔记了,哈哈哈,浅浅介绍类和对象的知识点! 1.类的6个默认成员函数 俺们定义一个空类: class N {}; 似乎这个类N里面什么都没有,其实不是这样子的。这个空类有6个默认的成员函数 。 默认成员函数:…...
【LLM之KG】KoPA论文阅读笔记
研究背景 知识图谱补全(KGC)是通过预测知识图谱中缺失的三元组来完善知识图谱的信息。传统方法主要基于嵌入和预训练语言模型,但这些方法往往忽视了知识图谱的结构信息,导致预测效果不佳。 研究目标 本文的研究目标是探索如何将…...
UI设计速成课:理解模态窗口与非模态窗口的区别
我们日常所说的弹性框架是非常笼统的概念。我们习惯性地称之为对话框架、浮动层和提示条。弹性框架可以分为两种:模态弹性框架和非模态弹性框架。产品需要弹性框架来传递信息,用户需要弹性框架来接受反馈,但是没有经过推敲的弹出窗口设计很容易让用户感到…...
【Linux】基础IO_4
文章目录 六、基础I/O4. 动静态库 未完待续 六、基础I/O 4. 动静态库 既然我们能够成功创建静态库了,接下来我们将这个代码打包成动态库: shared: 表示生成共享库格式 fPIC:产生位置无关码(position independent code) 动态库库名规则&…...
C++模板类原理讲解
C模板类原理讲解 C模板是一种强大的编译期工具,它允许我们创建通用的、类型无关的类和函数。模板的主要目的是实现代码的重用和泛型编程。模板类的原理涉及以下几个方面: 模板的定义和实例化模板的类型参数模板特化模板的编译过程模板的优点和缺点 1.…...
scratch编程03-反弹球
这篇文章和上一篇文章《scratch3编程02-使用克隆来编写小游戏》类似(已经完全掌握了克隆的可以忽略这篇文章),两篇文章都使用到了克隆来编写一个小游戏,这篇文章与上篇文章不同的是,本体在进行克隆操作时,不…...
postgresql数据库进阶知识
postgresql数据库进阶知识 # 如果表存在就先删除 drop table if exists student; # 创建学生表 # id serial not null 表示id自增 # id integer not null 表示id不自增 create table student (id serial not nullconstraint student_pkprimary…...
关于HTTP劫持,该如何理解、防范和应对
一、引言 HTTP劫持(HTTP Hijacking)是一种网络安全威胁,它发生在HTTP通信过程中,攻击者试图通过拦截、篡改或监控用户与服务器之间的数据流量,以达到窃取敏感信息或执行恶意操作的目的。今天我们就来详细了解HTTP劫持…...
System.Data.OracleClient.OracleException:“ORA-12571: TNS: 包写入程序失败
System.Data.OracleClient.OracleException:“ORA-12571: TNS: 包写入程序失败 解决方法: 首先%oracle_home%/network/admin下的sqlnet.ora文件,把SQLNET.AUTHENTICATION_SERVICES (NTS)加个 # 注释掉就好了...
saas产品运营案例 | 联盟营销计划如何帮助企业提高销售额?
在当今数字化时代,SaaS(软件即服务)产品已成为企业提高效率、降低成本的重要工具。然而,面对激烈的市场竞争,如何有效地推广SaaS产品、提高销售额,成为许多企业面临的挑战。林叔将以ClickFunnels为例&#…...
模式分解算法-满足3NF的无损且保持函数依赖的分解算法、满足BCNF的无损连接分解算法
一、引言 1、对指定的关系模式,若范式级别较低,为第一范式或第二范式,由于存在数据冗余或更新异常问题,在实际中一般是不可用的,关系模式的规范化就是将满足低一级的关系模式分解为若干满足高一级范式的关系模式的集合…...
荷兰与法国战平,双方能携手出现?
就在昨天晚上,荷兰队经历了90分钟的鏖战,最终0-0与法国队握手言和。此役,哈维-西蒙斯为荷兰队打进一球,但进球被判无效。从目前的积分形势来看,双方基本上确定携手晋级16强赛。本场比赛,荷兰队后卫内森-阿克…...
数据可视化实验二:回归分析、判别分析与聚类分析
目录 一、使用回归分析方法分析某病毒是否与温度呈线性关系 1.1 代码实现 1.2 线性回归结果 1.3 相关系数验证 二、使用判别分析方法预测某病毒在一定的温度下是否可以存活,分别使用三种判别方法,包括Fish判别、贝叶斯判别、LDA 2.1 数据集展示&am…...
FL论文专栏|设备异构、异步联邦
论文:Asynchronous Federated Optimization(12th Annual Workshop on Optimization for Machine Learning) 链接 实现Server的异步更新。每次Server广播全局Model的时候附带一个时间戳,Client跑完之后上传将时间戳和Model同时带回…...
【Java毕业设计】基于JavaWeb的礼服租赁系统
文章目录 摘 要Abstract目录1 绪论1.1 课题背景和意义1.2 国内外研究现状1.2.1 国外研究现状 1.3 课题主要内容 2 开发相关技术介绍2.1 Spring Boot框架2.2 Vue框架2.3 MySQL数据库2.4 Redis数据库 3 系统分析3.1 需求分析3.1.1 用户需求分析3.1.2 功能需求分析 3.2 可行性分析…...
代码随想录训练营Day 66|卡码网101.孤岛的总面积、102.沉没孤岛、103.水流问题、104.建造最大岛屿
1.孤岛的总面积 101. 孤岛的总面积 | 代码随想录 代码:(bfs广搜) #include <iostream> #include <vector> #include <queue> using namespace std; int dir[4][2] {1,0,0,1,-1,0,0,-1}; int count; void bfs(vector<vector<int>>&a…...
根据状态转移写状态机-二段式
目录 描述 输入描述: 输出描述: 描述 题目描述: 如图所示为两种状态机中的一种,请根据状态转移图写出代码,状态转移线上的0/0等表示的意思是过程中data/flag的值。 要求: 1、 必须使用对应类型的状…...
PyTorch C++扩展用于AMD GPU
PyTorch C Extension on AMD GPU — ROCm Blogs 本文演示了如何使用PyTorch C扩展,并通过示例讨论了它相对于常规PyTorch模块的优势。实验在AMD GPU和ROCm 5.7.0软件上进行。有关支持的GPU和操作系统的更多信息,请参阅系统要求(Linux…...
linux arm系统烧录
1、打开瑞芯微程序 2、按住linux arm 的 recover按键 插入电源 3、当瑞芯微检测到有设备 4、松开recover按键 5、选择升级固件 6、点击固件选择本地刷机的linux arm 镜像 7、点击升级 (忘了有没有这步了 估计有) 刷机程序 和 镜像 就不提供了。要刷的时…...
学习STC51单片机31(芯片为STC89C52RCRC)OLED显示屏1
每日一言 生活的美好,总是藏在那些你咬牙坚持的日子里。 硬件:OLED 以后要用到OLED的时候找到这个文件 OLED的设备地址 SSD1306"SSD" 是品牌缩写,"1306" 是产品编号。 驱动 OLED 屏幕的 IIC 总线数据传输格式 示意图 …...
uniapp微信小程序视频实时流+pc端预览方案
方案类型技术实现是否免费优点缺点适用场景延迟范围开发复杂度WebSocket图片帧定时拍照Base64传输✅ 完全免费无需服务器 纯前端实现高延迟高流量 帧率极低个人demo测试 超低频监控500ms-2s⭐⭐RTMP推流TRTC/即构SDK推流❌ 付费方案 (部分有免费额度&#x…...
回溯算法学习
一、电话号码的字母组合 import java.util.ArrayList; import java.util.List;import javax.management.loading.PrivateClassLoader;public class letterCombinations {private static final String[] KEYPAD {"", //0"", //1"abc", //2"…...
永磁同步电机无速度算法--基于卡尔曼滤波器的滑模观测器
一、原理介绍 传统滑模观测器采用如下结构: 传统SMO中LPF会带来相位延迟和幅值衰减,并且需要额外的相位补偿。 采用扩展卡尔曼滤波器代替常用低通滤波器(LPF),可以去除高次谐波,并且不用相位补偿就可以获得一个误差较小的转子位…...
Python竞赛环境搭建全攻略
Python环境搭建竞赛技术文章大纲 竞赛背景与意义 竞赛的目的与价值Python在竞赛中的应用场景环境搭建对竞赛效率的影响 竞赛环境需求分析 常见竞赛类型(算法、数据分析、机器学习等)不同竞赛对Python版本及库的要求硬件与操作系统的兼容性问题 Pyth…...
C++实现分布式网络通信框架RPC(2)——rpc发布端
有了上篇文章的项目的基本知识的了解,现在我们就开始构建项目。 目录 一、构建工程目录 二、本地服务发布成RPC服务 2.1理解RPC发布 2.2实现 三、Mprpc框架的基础类设计 3.1框架的初始化类 MprpcApplication 代码实现 3.2读取配置文件类 MprpcConfig 代码实现…...
论文阅读:Matting by Generation
今天介绍一篇关于 matting 抠图的文章,抠图也算是计算机视觉里面非常经典的一个任务了。从早期的经典算法到如今的深度学习算法,已经有很多的工作和这个任务相关。这两年 diffusion 模型很火,大家又开始用 diffusion 模型做各种 CV 任务了&am…...
6️⃣Go 语言中的哈希、加密与序列化:通往区块链世界的钥匙
Go 语言中的哈希、加密与序列化:通往区块链世界的钥匙 一、前言:离区块链还有多远? 区块链听起来可能遥不可及,似乎是只有密码学专家和资深工程师才能涉足的领域。但事实上,构建一个区块链的核心并不复杂,尤其当你已经掌握了一门系统编程语言,比如 Go。 要真正理解区…...
算法—栈系列
一:删除字符串中的所有相邻重复项 class Solution { public:string removeDuplicates(string s) {stack<char> st;for(int i 0; i < s.size(); i){char target s[i];if(!st.empty() && target st.top())st.pop();elsest.push(s[i]);}string ret…...
