我是python的新手。我正在学习type
命令。
有人能告诉我为什么它是分配的十进制数字时返回int
吗?
>>> m=0b1011
>>> type(m)
<type 'int'>
答案 0 :(得分:3)
从文档中(重点是我):
数字是通过数字文字或内置函数和运算符创建的。未经修饰的整数文字(包括十六进制,八进制和二进制数)会产生整数。
来源:https://docs.python.org/3.5/library/stdtypes.html#numeric-types-int-float-complex
答案 1 :(得分:1)
>>> m=0b1011
这些只是1和0:它们不是固有的 十进制或整数。
这一切都取决于您如何解释赋予其价值的1和0。例如,0b1011
可以具有十进制值11
(如果您选择将其解释为常规二进制),或者十进制值-5
(如果您选择将其解释为二进制补码)。