todo list

    • 每日指法练习
  1. 使用jupyter做笔记
      • 掌握markdown语法
      • 复习python基础指令
      • pygame zero 游戏编程

https://markdown.com.cn/intro.html

一、Jupyter简介

JupyterLab可以被视作一个加强版的资源管理器+交互模式下的python,他能让我们可视化地进行一些数据操作。

JupyterLab支持大部分数据格式的预览与修改,如自身的 ipynbmarkdown、csv、python文件格式等。

JupyterLab - 图1

腾讯扣叮在线地址:https://coding.qq.com/python-lab-launcher/

创建笔记

我们选择新建一个 notebook

JupyterLab - 图2

照例输入 print(‘hello world’),点击小三角运行。如同在交互模式中的 python 一样,他会直接输出结果。

JupyterLab - 图3

切换中文语言

扣叮python实验室,默认为中文语言,可以在“设置”—“语言”中切换:

JupyterLab - 图4

文件的管理

在JupyterLab的左侧部分则是常规的文件资源管理区域。我们可以在这里增加、删除、重命名之类地管理文件,与我们通常的文件操作无异。

JupyterLab 的执行文件被称作 notebook,它的后缀是ipynb。

JupyterLab - 图5

页面打顶部还有个返回按钮可以让我们打开启动页。

在启动页里我们可以方便地打开控制台亦或新建 Notebook、Markdown 等文件。
JupyterLab - 图6

主题设置

通过 设置 → jupyterlab 主题 来切换主题(扣叮当前只有一个主题)只能设置页面文字大小信息。

JupyterLab - 图7

Cell

在 notebook 里,一个基本的代码块被称作一个cell。我们之前的代码 print(‘hello world’) 在这里就是单独作为一个cell存在。

这不意味着一个 cell 只能有一行代码,cell 理论上可以有无数行代码。他不过是作为区分我们代码块的一个单位,方便我们观测我们的执行过程。

我们还可以通过右上角的选择,把一个 cell 的属性从代码块转成 markdown 文本。

JupyterLab - 图8

运行过后 markdown 文本会自动经过渲染。

JupyterLab - 图9

有关markdown的介绍以及语法可以 点击这里 进行了解。

常用的快捷键

使用快捷键能大大提高我们日常操作的效率。 JupyterLab - 图10

代码补全与参数 JupyterLab - 图11

修改内核

在编辑一个ipynb文件的同时,我们可以在右上角修改我们的运行内核。

JupyterLab - 图12

能更改的内核取决于你是否有安装,比如安装了python2 则可以选择相应的内核。除了python,JuypterLab 还支持 Java、C、R、Julia 等多种语言。

退出JupyterLab

直接关闭网页是无法退出的,因为你开始是通过控制台启动的JupyterLab。这里有两种退出的方式。

退出前别忘了先保存自己的文档

第一种:通过 文件 → 注销 来退出。

JupyterLab - 图13

界面初识

JupyterLab - 图14

当点击左边栏的文件浏览(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指定

    1. jupyter lab --notebook-dir="E:/Projects"
    2. 1
  • 如果没有指定参数--notebook-dir,则由配置文件中的参数c.ServerApp.root_dir指定

    配置文件可以通过下面命令生成(可参考第五部分内容进行设置):

    1. jupyter lab --generate-config
    2. 1
  • 如果配置文件中也没有指定,工作目录由启动JupyterLab时的当前路径决定。

Notebook文件

Notebooks是包含了代码、元数据、内容和输出的结构化数据。当保存到磁盘时,文件扩展名为.ipynb(存储在工作目录下的某个子目录中),并使用JSON结构。

文件名的修改可以在文件系统中修改,也可以在Web界面右键进行修改

在jupyter中使用shell命令

当你正在使用Python编译器,需要用到命令行工具的时候,麻烦的事情就出现了:要在shell和IDLE之间进行切换。

但是,如果你用的是Jupyter,就完全不用这么麻烦,你可以直接在命令之前加一个!,就能执行shell命令,完全不用来回切换,就能在Jupyter中执行任何命令。

下面是在windows系统中,使用命令dir查看当前目前的文件内容

JupyterLab - 图15

mac/linux,使用用命令!ls来查看当前目录下的文件信息

比如我们需要使用pip安装包的时候,便可以直接在JupyterLab的某个文档的单元中运行!pip install xxxx即可。

三、快捷键大全

快捷键可以干嘛,它不仅可以大大提高开发效率,还可以用来装X,正所谓一顿操作猛如虎。

不管你是奔着什么目的,都有必要掌握常用的快捷方式,下面按不同的模式列出了基本的快捷方式,并在自己经常使用的快捷方式前加*注明。

1. 通用快捷键(两种模式通用)

  1. *Shift-Enter : 运行本单元,选中下个单元
  2. *Ctrl-Enter : 运行本单元
  3. *Alt-Enter : 运行本单元,在其下插入新单元
  4. *Ctrl-S: 保存并检查
  5. 1234

2. 命令行模式(按 Esc 生效)快捷键

  1. *Enter: 进入编辑模式
  2. *Y : 单元格转入代码状态
  3. *M : 单元格转入markdown状态
  4. R : 单元格转入raw状态
  5. 1 : 设定 1 级标题
  6. 2 : 设定 2 级标题
  7. 3 : 设定 3 级标题
  8. 4 : 设定 4 级标题
  9. 5 : 设定 5 级标题
  10. 6 : 设定 6 级标题
  11. *A: 在上面插入单元格
  12. *B: 在下面插入单元格
  13. *X: 剪切选择的单元格
  14. *C: 复制选择的单元格
  15. *V: 粘贴到下面
  16. *Z: 撤销单元格操作
  17. *D,D: 删除选中单元格
  18. K: 选择上面的单元格
  19. ↑: 选择上面的单元格
  20. ↓: 选择下面的单元格
  21. J: 选择下面的单元格
  22. Shift-K: 扩展上面选择的单元格
  23. Shift-↑: 扩展上面选择的单元格
  24. Shift-↓: 扩展下面选择的单元格
  25. Shift-J: 扩展下面选择的单元格
  26. Ctrl-A: 选择所有的单元格
  27. *Shift-M: 合并选中单元格, 如果只有一个单元格被选中,合并下方的单元格
  28. S: 保存并检查
  29. I,I: 中断服务
  30. 0,0: 重启服务(带窗口)
  31. Shift-L: 在所有单元格中切换行号,并保持设置
  32. *Shift-空格: 向上滚动
  33. *空格: 向下滚动
  34. Ctrl+Shift+[: 向左切换文档
  35. Ctrl+Shift+]:向右切换文档
  36. 1234567891011121314151617181920212223242526272829303132333435363738394041

3. 编辑模式(按 Enter 生效)快捷键

  1. Ctrl-M: 进入命令行模式
  2. *Esc: 进入命令行模式
  3. *Tab : 代码补全或缩进
  4. *Shift-Tab : 提示或解除缩进
  5. Ctrl-] : 缩进
  6. Ctrl-[ : 解除缩进
  7. Ctrl-A : 全选
  8. *Ctrl-Z : 撤销
  9. *Ctrl-Shift-Z : 重做
  10. Ctrl-Y : 重做
  11. Ctrl-Home : 跳到单元开头
  12. Ctrl-End : 跳到单元末尾
  13. Ctrl-Left : 跳到单词左边
  14. Ctrl-Right : 跳到单词右边
  15. Ctrl-Backspace: 删除前面的单词
  16. Ctrl-Delete: 删除后面的单词
  17. *Ctrl-Shift-- : 分割单元
  18. *Ctrl-/: 注释或解除注释
  19. *Ctrl-D: 删除整行
  20. Ctrl-U: 撤销选择
  21. Alt-U: 重新选择
  22. Insert: 切换重写标志
  23. ↓: 光标下移
  24. ↑: 光标上移
  25. 123456789101112131415161718192021222324

四、魔法命令

并且都以%符号作为前缀

IPython魔法命令设计用于简洁地解决标准数据分析中的各种常见问题。魔法命令有两种形式:

  • 行魔法(line magic):以单个%字符作为前缀,作用于单行输入
  • 单元魔法(cell magic):以两个%%作为前缀,作用于多行输入。

1. 查看魔法命令

  1. %magic: 输出所有魔法指令帮助文档
  2. %lsmagic:列出所有magics命令
  3. %quickref:输出所有魔法指令的简单版帮助文档
  4. %MagicName?:输出某个魔法命令详细帮助文档
  5. 1234

查看魔法命令简单版的帮助文档

JupyterLab - 图16

查看time魔法命令的使用帮助文档

JupyterLab - 图17

2. 行魔法命令

这里只列出一些常用的行魔法命令:

  • %automagic:如果automagic被打开,魔法命令可以省略前面的% 符号

  • %run:执行脚本

  1. %run test.py
  2. 1

在这里插入图片描述

  • %time:计算接下来一行的Python语句的执行时间

  • %timeit:计算接下来一行的Python语句多次执行后的平均时间

  1. %timeit L = [n ** 2 for n in range(100000)]
  2. 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:处理多行输入

  1. %%timeit
  2. L = [n ** 2 for n in range(100000)]
  3. L = [n ** 2 for n in range(100000)]
  4. 123
  • %%writefile:将当前cell中内容写入文件中
  1. %%writefile test.py
  2. print('hello world!')
  3. 12
  1. %%latex
  2. \begin{equation}
  3. \int_0^\infty \frac{x^3}{e^x-1}\,dx = \frac{\pi^4}{15}
  4. \label{eq:sample}
  5. \end{equation}
  6. 12345

JupyterLab - 图19

  • %%script :写bash、perl、javascript、js 等命令