todo list
- 每日指法练习
- 使用jupyter做笔记
- 掌握markdown语法
- 复习python基础指令
- pygame zero 游戏编程
https://markdown.com.cn/intro.html
一、Jupyter简介
JupyterLab可以被视作一个加强版的资源管理器+交互模式下的python,他能让我们可视化地进行一些数据操作。
JupyterLab支持大部分数据格式的预览与修改,如自身的 ipynb 或 markdown、csv、python文件格式等。
腾讯扣叮在线地址:https://coding.qq.com/python-lab-launcher/
创建笔记
我们选择新建一个 notebook
照例输入 print(‘hello world’),点击小三角运行。如同在交互模式中的 python 一样,他会直接输出结果。
切换中文语言
扣叮python实验室,默认为中文语言,可以在“设置”—“语言”中切换:
文件的管理
在JupyterLab的左侧部分则是常规的文件资源管理区域。我们可以在这里增加、删除、重命名之类地管理文件,与我们通常的文件操作无异。
JupyterLab 的执行文件被称作 notebook,它的后缀是ipynb。
页面打顶部还有个返回按钮可以让我们打开启动页。
在启动页里我们可以方便地打开控制台亦或新建 Notebook、Markdown 等文件。
主题设置
通过 设置 → jupyterlab 主题 来切换主题(扣叮当前只有一个主题)只能设置页面文字大小信息。
Cell
在 notebook 里,一个基本的代码块被称作一个cell。我们之前的代码 print(‘hello world’) 在这里就是单独作为一个cell存在。
这不意味着一个 cell 只能有一行代码,cell 理论上可以有无数行代码。他不过是作为区分我们代码块的一个单位,方便我们观测我们的执行过程。
我们还可以通过右上角的选择,把一个 cell 的属性从代码块转成 markdown 文本。
运行过后 markdown 文本会自动经过渲染。
有关markdown的介绍以及语法可以 点击这里 进行了解。
常用的快捷键
使用快捷键能大大提高我们日常操作的效率。
代码补全与参数
修改内核
在编辑一个ipynb文件的同时,我们可以在右上角修改我们的运行内核。
能更改的内核取决于你是否有安装,比如安装了python2 则可以选择相应的内核。除了python,JuypterLab 还支持 Java、C、R、Julia 等多种语言。
退出JupyterLab
直接关闭网页是无法退出的,因为你开始是通过控制台启动的JupyterLab。这里有两种退出的方式。
退出前别忘了先保存自己的文档
第一种:通过 文件 → 注销 来退出。
界面初识
当点击左边栏的文件浏览(File Browser)按钮,可以查看到notebook的root目录下的文件,上面有添加文件和文件夹、上传文件、刷新文件列表等按钮。
右边是notebook的工作区域, 整个notebook由单元格(cell)组成,以工作区域的上面有notebook的保存、单元的添加、删除、运行、单元类型切换等按钮。
cell的三种类型
- Code:编辑代码,运行后显示代码运行结果
- Markdown:编写Markdown文档,运行后输出Markdown格式的文档)
- Raw:普通文本,运行不会输出结果
notebook支持两种模式
该方式起源于vim编辑器。
- 编辑模式:
- 进入方式:命令模式下按Enter键或者鼠标点击Cell的编辑框进入编辑状态
- 主要操作:可以操作代码或文本的编辑、剪切、复制 、粘贴等操作
- 命令模式
- 进入方式:Esc键或者鼠标点击Cell编辑框前方的空白区域进入命令模式。
- 主要操作:可以操作cell单元本身,比如进入单元的删除、添加、剪切、复制 、粘贴、移动等操作
菜单
- 文件(File):与文件和目录有关的操作
- 编辑(Edit):与编辑文档和其他活动有关的动作
- 视图(View):视图相关操作
- 运行(Run):用于在不同活动(例如笔记本和代码控制台)中运行代码的动作,可运行选中单元,也可以运行所有单元
- 内核(Kenel):内核的起、停、切换等相关操作
- 标签(Tabs):停靠面板中打开的文档和活动的列表
- 设置(Settings):常用设置和高级设置编辑器
- 帮助(Help):JupyterLab和内核帮助链接的列表。
二、工作目录、Notebook文件
工作目录
由启动jupyterLab的启动参数
--notebook-dir
指定jupyter lab --notebook-dir="E:/Projects"
1
如果没有指定参数
--notebook-dir
,则由配置文件中的参数c.ServerApp.root_dir
指定配置文件可以通过下面命令生成(可参考第五部分内容进行设置):
jupyter lab --generate-config
1
如果配置文件中也没有指定,工作目录由启动JupyterLab时的当前路径决定。
Notebook文件
Notebooks是包含了代码、元数据、内容和输出的结构化数据。当保存到磁盘时,文件扩展名为.ipynb
(存储在工作目录下的某个子目录中),并使用JSON结构。
文件名的修改可以在文件系统中修改,也可以在Web界面右键进行修改
在jupyter中使用shell命令
当你正在使用Python编译器,需要用到命令行工具的时候,麻烦的事情就出现了:要在shell和IDLE之间进行切换。
但是,如果你用的是Jupyter,就完全不用这么麻烦,你可以直接在命令之前加一个!
,就能执行shell命令,完全不用来回切换,就能在Jupyter中执行任何命令。
下面是在windows系统中,使用命令dir
查看当前目前的文件内容
mac/linux,使用用命令!ls
来查看当前目录下的文件信息
比如我们需要使用pip安装包的时候,便可以直接在JupyterLab的某个文档的单元中运行!pip install xxxx
即可。
三、快捷键大全
快捷键可以干嘛,它不仅可以大大提高开发效率,还可以用来装X,正所谓一顿操作猛如虎。
不管你是奔着什么目的,都有必要掌握常用的快捷方式,下面按不同的模式列出了基本的快捷方式,并在自己经常使用的快捷方式前加*
注明。
1. 通用快捷键(两种模式通用)
*Shift-Enter : 运行本单元,选中下个单元
*Ctrl-Enter : 运行本单元
*Alt-Enter : 运行本单元,在其下插入新单元
*Ctrl-S: 保存并检查
1234
2. 命令行模式(按 Esc 生效)快捷键
*Enter: 进入编辑模式
*Y : 单元格转入代码状态
*M : 单元格转入markdown状态
R : 单元格转入raw状态
1 : 设定 1 级标题
2 : 设定 2 级标题
3 : 设定 3 级标题
4 : 设定 4 级标题
5 : 设定 5 级标题
6 : 设定 6 级标题
*A: 在上面插入单元格
*B: 在下面插入单元格
*X: 剪切选择的单元格
*C: 复制选择的单元格
*V: 粘贴到下面
*Z: 撤销单元格操作
*D,D: 删除选中单元格
K: 选择上面的单元格
↑: 选择上面的单元格
↓: 选择下面的单元格
J: 选择下面的单元格
Shift-K: 扩展上面选择的单元格
Shift-↑: 扩展上面选择的单元格
Shift-↓: 扩展下面选择的单元格
Shift-J: 扩展下面选择的单元格
Ctrl-A: 选择所有的单元格
*Shift-M: 合并选中单元格, 如果只有一个单元格被选中,合并下方的单元格
S: 保存并检查
I,I: 中断服务
0,0: 重启服务(带窗口)
Shift-L: 在所有单元格中切换行号,并保持设置
*Shift-空格: 向上滚动
*空格: 向下滚动
Ctrl+Shift+[: 向左切换文档
Ctrl+Shift+]:向右切换文档
1234567891011121314151617181920212223242526272829303132333435363738394041
3. 编辑模式(按 Enter 生效)快捷键
Ctrl-M: 进入命令行模式
*Esc: 进入命令行模式
*Tab : 代码补全或缩进
*Shift-Tab : 提示或解除缩进
Ctrl-] : 缩进
Ctrl-[ : 解除缩进
Ctrl-A : 全选
*Ctrl-Z : 撤销
*Ctrl-Shift-Z : 重做
Ctrl-Y : 重做
Ctrl-Home : 跳到单元开头
Ctrl-End : 跳到单元末尾
Ctrl-Left : 跳到单词左边
Ctrl-Right : 跳到单词右边
Ctrl-Backspace: 删除前面的单词
Ctrl-Delete: 删除后面的单词
*Ctrl-Shift-- : 分割单元
*Ctrl-/: 注释或解除注释
*Ctrl-D: 删除整行
Ctrl-U: 撤销选择
Alt-U: 重新选择
Insert: 切换重写标志
↓: 光标下移
↑: 光标上移
123456789101112131415161718192021222324
四、魔法命令
并且都以%符号作为前缀
IPython魔法命令设计用于简洁地解决标准数据分析中的各种常见问题。魔法命令有两种形式:
- 行魔法(line magic):以单个%字符作为前缀,作用于单行输入
- 单元魔法(cell magic):以两个%%作为前缀,作用于多行输入。
1. 查看魔法命令
%magic: 输出所有魔法指令帮助文档
%lsmagic:列出所有magics命令
%quickref:输出所有魔法指令的简单版帮助文档
%MagicName?:输出某个魔法命令详细帮助文档
1234
查看魔法命令简单版的帮助文档
查看time魔法命令的使用帮助文档
2. 行魔法命令
这里只列出一些常用的行魔法命令:
%automagic
:如果automagic被打开,魔法命令可以省略前面的%
符号%run
:执行脚本
%run test.py
1
%time
:计算接下来一行的Python语句的执行时间%timeit
:计算接下来一行的Python语句多次执行后的平均时间
%timeit L = [n ** 2 for n in range(100000)]
1
%history
:获取此前所有的输入历史%xmode
:设置异常模式,即当代码有异常时,出错信息的输出方式,可以设置Plain、Context、Verbose和Minimal四种模式%pip
:在cell中使用pip指令shell相关魔法命令
%cd
、%cat
、%cp
、%env
、%ls
、%man
、%mkdir
、%more
、%mv
、%pwd
、%rm
、%rmdir
、…
注意:魔法方法提供了部分shell命令的功能,另外,我们也可以通过
!cmd
的方式运行相关shell命令。但要注意它们的区别:
!
开一个新的progress,执行完之后立即终止。如果执行的命令是切换目录,则不会对当前进程产生影响。%
的操作会持续。如果使用%cd
切换目录后,直接影响是当前进程。
3. 单元魔法命令
%%time
:处理多行输入%%timeit
:处理多行输入
%%timeit
L = [n ** 2 for n in range(100000)]
L = [n ** 2 for n in range(100000)]
123
%%writefile
:将当前cell中内容写入文件中
%%writefile test.py
print('hello world!')
12
%%latex
:写Latex公式
%%latex
\begin{equation}
\int_0^\infty \frac{x^3}{e^x-1}\,dx = \frac{\pi^4}{15}
\label{eq:sample}
\end{equation}
12345
%%script
:写bash、perl、javascript、js 等命令