1. print( 坑的信息 )
- 挖坑时间:2019/01/08
- 明细
坑的编码 | 内容 |
---|---|
Py004-1 | \o 为何无效,到底怎么用 |
2. 开始填坑
2.1 问题的由来
- 以前做过一些题目,感觉二进制和十六进制较多,八进制的较少
- 我那本书中说转义字符
\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
>>>
倘若阁下发现在下错误之处,还请不吝赐教!谢谢!