八进制(oct)
回忆上次内容
- 什么是 转义?
- 转义转义 转化含义
-
\ 是 转义字符 -
\n、\r是 转义序列
- 还有什么 转义序列 吗?
-
\a是 响铃 -
\b 退格键 -
\t 水平制表符 tab键 -
\v、\f 实现喂纸不回车
- 通过 16进制数值 转义
-
\xhh - 输出 (
hh)<sub>16进制</sub>对应的ascii字符
- 如果我们不输入
x
- 会发生什么呢?
![图片描述 [oeasy]python0043_八进制_oct_octal_october_octave_转义](https://file.cfanz.cn/uploads/png/2023/01/09/5/WA65614QP7.png)
- 为什么会输出
S 呢?🤔
查询文档
![图片描述 [oeasy]python0043_八进制_oct_octal_october_octave_进制_02](https://file.cfanz.cn/uploads/png/2023/01/10/14/BZ6aA93N3d.png)
- 查询主题
STRINGS
查询结果
- 表示方法
- \xhh 是
16进制 表示方法 - \ooo 是
8进制 表示方法
![图片描述 [oeasy]python0043_八进制_oct_octal_october_octave_八进制_03](https://file.cfanz.cn/uploads/jpeg/2023/01/10/14/M3J4c0I2W8.jpeg)
- 去试试
从 16进制 到 8进制
![图片描述 [oeasy]python0043_八进制_oct_octal_october_octave_转义_04](https://file.cfanz.cn/uploads/png/2023/01/10/14/21e1YFZ119.png)
- 16进制表示法 没有问题
- 那 8进制 呢?
- 有没有 求八进制值的函数 呢?
- 就像 hex 、 bin
oct函数手册
![图片描述 [oeasy]python0043_八进制_oct_octal_october_octave_进制_05](https://file.cfanz.cn/uploads/png/2023/01/10/14/3YO266d36M.png)
- oct 就是 求八进制值的函数
![图片描述 [oeasy]python0043_八进制_oct_octal_october_octave_八进制_06](https://file.cfanz.cn/uploads/png/2023/01/10/14/CT6I98eD0B.png)
- 返回的 是
- 八进制形式的 字符串
具体表示
![图片描述 [oeasy]python0043_八进制_oct_octal_october_octave_八进制_07](https://file.cfanz.cn/uploads/png/2023/01/10/14/XKQ4764PJc.png)
- 确实可以
- 用 3位 八进制数 表示字符
-
\141
- 123 为什么 对应
S 呢?
查询帮助
- S 的序号 是83
- 83 对应的 八进制数 是
-
0o123 - - 0 代表这是个 数字
- - o 代表 oct
- 八进制
![图片描述 [oeasy]python0043_八进制_oct_octal_october_octave_转义_08](https://file.cfanz.cn/uploads/png/2023/01/10/14/806D090S7J.png)
- 为什么 oct 代表八进制呢?
词根溯源
- oct来源
![图片描述 [oeasy]python0043_八进制_oct_octal_october_octave_进制_09](https://file.cfanz.cn/uploads/png/2023/01/10/14/32R3B50NX3.png)
- eight 和 oct 同源
- 就如同
- ten 和 decimal
- two 和 binary
octopus
- 八只脚 的 章鱼 🐙
![图片描述 [oeasy]python0043_八进制_oct_octal_october_octave_八进制_10](https://file.cfanz.cn/uploads/png/2023/01/10/14/c4MdHc43Sc.png)
- 章鱼也叫八爪鱼(octopus)
octave
- 八度音阶
- 俗称的 八度音
- 高八度
- 低八度
![图片描述 [oeasy]python0043_八进制_oct_octal_october_octave_转义_11](https://file.cfanz.cn/uploads/jpeg/2023/01/10/14/F920dR3E02.jpeg)
- octave
october
- october 是
- 罗慕路斯(Romulus)历法中的
- 八月
- 罗慕路斯 是 在七个山丘上
- 创建罗马 的 弟弟
![图片描述 [oeasy]python0043_八进制_oct_octal_october_octave_进制_12](https://file.cfanz.cn/uploads/jpeg/2023/01/10/14/Xf1965UOdD.jpeg)
- 有什么证据吗?
连续的月份
月份 | 数字 | 词根 | 单词 |
7 | seven | septem- | september |
8 | eight | octo- | october |
9 | nine | novem- | november |
10 | ten(decimal) | decem- | december |
![图片描述 [oeasy]python0043_八进制_oct_octal_october_octave_转义_13](https://file.cfanz.cn/uploads/jpeg/2023/01/10/14/86b861faTA.jpeg)
- 只有 304天
- 剩下的61天 太冷了
- 也没农活
- 不 需要记忆
后来的历法
- 庞贝留斯在年底 加了两个月
- Ianuarius
- Februarius
- 仔细看 首行的 月份
儒略历
- 凯撒历
- Julian Calendar
![图片描述 [oeasy]python0043_八进制_oct_octal_october_octave_转义_14](https://file.cfanz.cn/uploads/jpeg/2023/01/10/14/SG8dL3dUXI.jpeg)
- 凯撒 把 新加的两个月 放到年初
- 一月大月 31天
- 二月小月 28天
- 后人把
- Quintilis 改成 July
- 纪念 Julius Caesar
- 尤里乌斯·凯撒
- Sextilis 改成 Augustus
- 纪念 Octavius Augustus
- 屋大维·奥古斯都
- 屋大维 和 八
- 还真的是 有缘
八进制字符
- 可以观察到
-
0o41 对应字符 ! \041 和 \41 都可以
- 表示 这个字符
!
![图片描述 [oeasy]python0043_八进制_oct_octal_october_octave_八进制_15](https://file.cfanz.cn/uploads/png/2023/01/10/14/IF9SfH35f6.png)
- 那么
- 问题来了
- "\123"究竟
- 是 "\12" + "3" 呢?
- 还是 "\123" 呢?
查询
- 以 "\n" 为切入点
![图片描述 [oeasy]python0043_八进制_oct_octal_october_octave_进制_16](https://file.cfanz.cn/uploads/png/2023/01/10/14/O1595fD9R6.png)
- (0A)<sub>16进制</sub>
- (10)<sub>10进制</sub>
![图片描述 [oeasy]python0043_八进制_oct_octal_october_octave_八进制_17](https://file.cfanz.cn/uploads/png/2023/01/10/14/5KC8362MdR.png)
- (12)<sub>8进制</sub>
- 想先把 前两个字符(01)
- 当做一个整体 来转义
- 而不是 以前三个(012)
- 来 转义 呢?
歧义
- 如果 直接输出
\121
- 结果是
Q -
0o121 对应着 0x51
![图片描述 [oeasy]python0043_八进制_oct_octal_october_octave_进制_18](https://file.cfanz.cn/uploads/png/2023/01/10/14/814c3107e7.png)
- 如果 直接输出
\12
- 可以输出换行符
- 如果我就想
- 用 8进制 输出换行符
- 并且 后面 加一个字符
1 呢?
![图片描述 [oeasy]python0043_八进制_oct_octal_october_octave_八进制_19](https://file.cfanz.cn/uploads/png/2023/01/10/14/990N299N1b.png)
- 明确 是 两个字符
还有一种方法
- 给 前面的
\12
- 前面补
0 - 修改为
\012
![图片描述 [oeasy]python0043_八进制_oct_octal_october_octave_转义_20](https://file.cfanz.cn/uploads/png/2023/01/10/14/6LcEU204WX.png)
- 两种方法 都可以
- 不过 第二种
- 去除歧义的能力 更强
- 回忆一下 进制
总结
- 这次研究了
- 通过 八进制数值 转义
-
\ooo - 把(
ooo)<sub>8进制</sub>对应的ascii字符输出
- 转义序列
-
\n、\t 是 转义序列 -
\xhh 也是 转义序列 -
\ooo 还是 转义序列
![图片描述 [oeasy]python0043_八进制_oct_octal_october_octave_进制_21](https://file.cfanz.cn/uploads/png/2023/01/10/14/3HIS6761W7.png)
- 现在 总共有
-
几种进制 了呢?🤔
- 下次总结一下!👋
- 蓝桥->https://www.lanqiao.cn/courses/3584
- github->https://github.com/overmind1980/oeasy-python-tutorial
- gitee->https://gitee.com/overmind1980/oeasypython
- 视频->https://www.bilibili.com/video/BV1CU4y1Z7gQ 作者:oeasy
