目录
1. print( 坑的信息 )
- 挖坑时间:2019/01/08
- 明细
坑的编码 | 内容 |
---|---|
Py004-1 | \o 为何无效,到底怎么用 |
2. 开始填坑
(1) 问题的由来
- 以前做过的题目里,算二进制的挺多;单片机学了些皮毛,感觉用十六进制较多;八进制接触得较少
- 书中转义字符那儿说
\o
是八进制数代表的字符,但我仍不知怎么用
(2) 搜索 & 操作 & 结论
1) 先说结论
- 以前确实是用
\o
,但新版本为了防止字母 o 与数字 0 之间产生混淆,舍弃了字母 o 这个前缀 - 这就解释了为什么
\x
还在用,而\o
改为\
了
2) 八进制的用途
- 二进制、八进制、十六进制可以快速转换,如
10100110 -> 10 100 110 -> (246)8
10100110 -> 1010 0110 -> 0xA6
- 八进制在 UNIX 中仍有一席之地
- 八进制在 Linux 中用 chmod 修改权限时会用到
- 八进制在表示 ASCII 时常用
3) 少废话,上例子
octonary1 = "\o102" # 字母 o 使转义符失效,这就是一个普通的字符串
octonary2 = "\102" # 八进制中的 102 在 ASCII 码表中对应字符 B
octonary3 = "\o12"
octonary4 = "\012" # 八进制中的 12 在 ASCII 码表中对应回车符
octonary5 = "\12" # 不凑成三位数也行
print('1 A' + octonary1 +'C')
print('-'*20)
print('2 A' + octonary2 + 'C')
print('-'*20)
print('3 A' + octonary3 + 'C')
print('-'*20)
print('4 A' + octonary4 + 'C')
print('-'*20)
print('5 A' + octonary5 + 'C')
- 运行结果
1 A\o102C
--------------------
2 ABC
--------------------
3 A\o12C
--------------------
4 A
C
--------------------
5 A
C
我的学识有限,如果有同学、老师或者前辈看到我写的东西,发现错误之处,还请不吝赐教!谢谢!