[oeasy]python0043_八进制_oct_octal_october_octave

八进制(oct)

回忆上次内容

  • 什么是 转义?
    • 转义转义 转化含义
    • \ 是 转义字符
    • \n\r是 转义序列
  • 还有什么 转义序列 吗?
    • \a是 响铃
    • \b 退格键
    • \t 水平制表符 tab键
    • \v\f 实现喂纸不回车
  • 通过 16进制数值 转义
    • \xhh
    • 输出 (hh)16进制对应的ascii字符
  • 如果我们不输入x
    • 会发生什么呢?

图片描述

  • 为什么会输出 S 呢?🤔

查询文档

图片描述

  • 查询主题 STRINGS

查询结果

  • 表示方法
    • \xhh 是 16进制 表示方法
    • \ooo 是 8进制 表示方法

图片描述

  • 去试试

从 16进制 到 8进制

图片描述

  • 16进制表示法 没有问题
  • 那 8进制 呢?
  • 有没有 求八进制值的函数 呢?
    • 就像 hex 、 bin

oct函数手册

图片描述

  • oct 就是 求八进制值的函数

图片描述

  • 返回的 是
    • 八进制形式的 字符串

具体表示

图片描述

  • 确实可以
    • 用 3位 八进制数 表示字符
    • \141
  • 123 为什么 对应 S 呢?

查询帮助

  • S 的序号 是83
  • 83 对应的 八进制数 是
    • 0o123
      - 0 代表这是个 数字
      - o 代表 oct
      • 八进制

图片描述

  • 为什么 oct 代表八进制呢?

词根溯源

  • oct来源

图片描述

  • eight 和 oct 同源
  • 就如同
    • ten 和 decimal
    • two 和 binary

octopus

  • 八只脚 的 章鱼 🐙

图片描述

  • 章鱼也叫八爪鱼(octopus)

octave

  • 八度音阶
    • 俗称的 八度音
    • 高八度
    • 低八度

图片描述

  • octave

october

  • october 是
    • 罗慕路斯(Romulus)历法中的
      • 八月
    • 罗慕路斯 是 在七个山丘上
      • 创建罗马 的 弟弟

图片描述

  • 有什么证据吗?

连续的月份

月份数字词根单词
7sevenseptem-september
8eightocto-october
9ninenovem-november
10ten(decimal)decem-december

图片描述

  • 只有 304天
    • 剩下的61天 太冷了
    • 也没农活
    • 不 需要记忆

后来的历法

  • 庞贝留斯在年底 加了两个月
    • Ianuarius
    • Februarius

图片描述

  • 仔细看 首行的 月份

儒略历

  • 凯撒历
    • Julian Calendar

图片描述

  • 凯撒 把 新加的两个月 放到年初
    • 一月大月 31天
    • 二月小月 28天
  • 后人把
    • Quintilis 改成 July
      • 纪念 Julius Caesar
        • 尤里乌斯·凯撒
    • Sextilis 改成 Augustus
      • 纪念 Octavius Augustus
        • 屋大维·奥古斯都
  • 屋大维 和 八
    • 还真的是 有缘

八进制字符

  • 可以观察到
    • 0o41 对应字符 !
    • \041\41 都可以
      • 表示 这个字符 !

图片描述

  • 那么
    • 问题来了
  • "\123"究竟
    • 是 “\12” + “3” 呢?
    • 还是 “\123” 呢?

查询

  • 以 “\n” 为切入点

图片描述

  • (0A)16进制
  • (10)10进制

图片描述

  • (12)8进制
    • 想先把 前两个字符(01)
      • 当做一个整体 来转义
    • 而不是 以前三个(012)
      • 来 转义 呢?

歧义

  • 如果 直接输出\121
    • 结果是 Q
    • 0o121 对应着 0x51

图片描述

  • 如果 直接输出\12

    • 可以输出换行符
  • 如果我就想

    • 用 8进制 输出换行符
    • 并且 后面 加一个字符1 呢?

图片描述

  • 明确 是 两个字符

还有一种方法

  • 给 前面的\12
    • 前面补0
    • 修改为\012

图片描述

  • 两种方法 都可以
    • 不过 第二种
      • 去除歧义的能力 更强
  • 回忆一下 进制

总结

  • 这次研究了

    • 通过 八进制数值 转义
      • \ooo
      • 把(ooo)8进制对应的ascii字符输出
  • 转义序列

    • \n\t 是 转义序列
    • \xhh 也是 转义序列
    • \ooo 还是 转义序列

图片描述

  • 现在 总共有
    • 种进制 了呢?🤔
  • 下次总结一下!👋
  • 蓝桥->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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值