新行和空格的int()是否正常?

时间:2014-10-09 16:24:14

标签: python string int

我尝试以下操作,它打印1,没有例外。 这是python的所有版本(> 2.7)的预期行为吗?

a='1 \r\n'
print int(a)

1 个答案:

答案 0 :(得分:4)

documentation for int()明确说明这是预期的行为:

  

如果 x 不是数字或者给出了base,那么我必须是一个字符串或Unicode对象,表示基数为整数的文本。可选地,文字可以在前面加+或 - (之间没有空格)和用空格包围

强调我的。

这是Python的预期行为;您可以将字符串传递给int()函数的第一个版本是Python 1.5,并且在Python 2和Python 3中行为保持不变。