Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python处理以0开头的整数?_Python_Python 2.7 - Fatal编程技术网

Python处理以0开头的整数?

Python处理以0开头的整数?,python,python-2.7,Python,Python 2.7,我对Python比较陌生,但通常会发现它很容易解决。不过,我刚刚遇到了一些事情,这让我有点不知所措 我知道类型检查不是很像python,但我处理的是用户输入,它在这里似乎很有用。我希望下面的代码(在Python 2.7.6中)将不相关的输入更改为空字符串,但在交互式解释器中尝试时,它返回了一个意外的int。有人能告诉我这在Python中是否是一个特殊值,或者解释为什么会发生这种情况吗 我认为“code”可能是一个保留变量的名称,即内部使用的变量,但更改名称似乎没有结果 >>>

我对Python比较陌生,但通常会发现它很容易解决。不过,我刚刚遇到了一些事情,这让我有点不知所措

我知道类型检查不是很像python,但我处理的是用户输入,它在这里似乎很有用。我希望下面的代码(在Python 2.7.6中)将不相关的输入更改为空字符串,但在交互式解释器中尝试时,它返回了一个意外的int。有人能告诉我这在Python中是否是一个特殊值,或者解释为什么会发生这种情况吗

我认为“code”可能是一个保留变量的名称,即内部使用的变量,但更改名称似乎没有结果

>>> code = 0134
>>> if type(code) is not int: code =""
... 
>>> code
92
我相信我可以找到一个替代的方法来做我在这里尝试做的事情,所以这不是重点。我只想知道意外的int发生了什么

谢谢

抢劫

在python 2.7.6中,这定义了八进制数132,因为前导是0。这等于小数点92

>>> if type(code) is not int: code =""
如果不是int,则清除它

>>> code = 0134
>>> type(code)
<type 'int'>
>>code=0134
>>>类型(代码)
正如你所看到的,你确实有一个int,当你把它打印出来时,你会得到以10为基数的表示,即92


在Python中,当一个数字以0开头时,它被解释为一个八进制数。八进制的0134是十进制的92

我不知道为什么您认为该值的类型不是int。它是一个整数

>>> code = 0134
>>> type(code)
<type 'int'>