[Python3 填坑] 004 关于八进制

1. print( 坑的信息 )

  • 挖坑时间:2019/01/08
  • 明细
坑的编码 内容
Py004-1 \o 为什么无效,到底怎么用


2. 开始填坑

2.1 问题的由来

  1. 之前作过一些题目,感受二进制和十六进制较多,八进制的较少
  2. 我那本书中说转义字符 \o 是八进制数表明的字符,但我在 Python3 中用不出来

2.2 问题的解决

2.2.1 先说结论

  • 之前确实是用 \o ,但新版本为了防止字母 o 与数字 0 之间产生混淆,舍弃了字母 o 这个前缀
  • 这就解释了为何 \x 还在用,而 \o 改成 \

2.2.2 八进制的用途

  • 二进制、八进制、十六进制能够快速转换,如

10100110 -> 10 100 110 -> (246)8
10100110 -> 1010 0110 -> 0xA6编码

  • 八进制在 UNIX 中仍有一席之地
  • 八进制在 Linux 中用 chmod 修改权限时会用到
  • 八进制在表示 ASCII 时经常使用

2.2.3 少废话,上例子

>>> print("\o102")      # 字母 o
\o102
>>> print("\102")       # 八进制中的 102 在 ASCII 码表中对应字符 B
B
>>> print("\o12")       # 字母 o
\o12
>>> print("\012")       # 八进制中的 12 在 ASCII 码表中对应回车符
                        # 这一行是 "\012" 的效果
                        # 这一行是 print() 的效果
>>> print("\12")        # 同上,这也是八进制中的 12


>>>

假若阁下发如今下错误之处,还请不吝赐教!谢谢!code

相关文章
相关标签/搜索