[Python3 填坑] 004 关于八进制

目录


1. print( 坑的信息 )

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



2. 开始填坑

(1) 问题的由来

  1. 以前做过的题目里,算二进制的挺多;单片机学了些皮毛,感觉用十六进制较多;八进制接触得较少
  2. 书中转义字符那儿说 \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


我的学识有限,如果有同学、老师或者前辈看到我写的东西,发现错误之处,还请不吝赐教!谢谢!

猜你喜欢

转载自www.cnblogs.com/yorkyu/p/10306401.html