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 "<stdin>", 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
>>> 

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容