python中的进制表示_python3中八进制数的表示

先跳个坑

python@ubuntu:~$ python3

Python 3.5.2 (default, Nov 12 2018, 13:43:14)

[GCC 5.4.0 20160609] on linux

Type "help", "copyright", "credits" or "license" for more information.

>>> 0x10

16

>>> 010

File "", line 1

010

^

SyntaxError: invalid token

>>> 0b10

2

>>>

以上写法在python3中竟然出现语法错误,再分别来看看python2中和python3中进制是如何转换的

python@ubuntu:~$ python

Python 2.7.12 (default, Nov 12 2018, 14:36:49)

[GCC 5.4.0 20160609] on linux2

Type "help", "copyright", "credits" or "license" for more information.

>>> oct(64),hex(64),bin(64)

('0100', '0x40', '0b1000000')

>>>

python@ubuntu:~$ python3

Python 3.5.2 (default, Nov 12 2018, 13:43:14)

[GCC 5.4.0 20160609] on linux

Type "help", "copyright", "credits" or "license" for more information.

>>> oct(64),hex(64),bin(64)

('0o100', '0x40', '0b1000000')

>>>

可以看出python3中八进制的转换是0x而python2中是0,python3环境下逆推

python@ubuntu:~$ python3

Python 3.5.2 (default, Nov 12 2018, 13:43:14)

[GCC 5.4.0 20160609] on linux

Type "help", "copyright", "credits" or "license" for more information.

>>> 0x10

16

>>> 0o10

8

>>> 0b10

2

>>>

再看看在python2环境下这种写法会不会报错

python@ubuntu:~$ python

Python 2.7.12 (default, Nov 12 2018, 14:36:49)

[GCC 5.4.0 20160609] on linux2

Type "help", "copyright", "credits" or "license" for more information.

>>> 0x10

16

>>> 0o10

8

>>> 0b10

2

>>>

综上,在平时写代码的时候一定要注意通用写法,不要一味的求简单,掌握正确的通用写法