use*_*739 4 python string python-2.7
为什么我在python 2.7中得到以下结果,而不是'055'?
>>> str(055)
'45'
Run Code Online (Sandbox Code Playgroud)
Ash*_*ary 11
055是一个八进制数,其十进制等值45,用于oct获得正确的输出.
>>> oct(055)
'055'
Run Code Online (Sandbox Code Playgroud)
Python 2.X中八进制数的语法:
octinteger ::= "0" ("o" | "O") octdigit+ | "0" octdigit+
Run Code Online (Sandbox Code Playgroud)
但这仅用于表示目的,最终它们总是转换为整数以进行存储或计算:
>>> x = 055
>>> x
45
>>> x = 0xff # HexaDecimal
>>> x
255
>>> x = 0b111 # Binary
>>> x
7
>>> 0xff * 055
11475
Run Code Online (Sandbox Code Playgroud)
请注意,在Python 3.x中,八进制数现在由0o.表示.所以,使用055那里会提高SyntaxError.
| 归档时间: |
|
| 查看次数: |
123 次 |
| 最近记录: |