[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

相關文章
相關標籤/搜索