为什么我在Python中使用int(input()。strip())而不是int(input())?

时间:2018-01-13 18:16:47

标签: python string int

如果我想将数字作为输入,我是否还需要.strip()方法?像这样:

n = int(input().strip())

而不仅仅是编码:

n = int(input())

我知道.strip()会返回字符串的副本,其中所有字符都已从字符串的开头和结尾处删除。但我想知道为什么/如果有必要。

1 个答案:

答案 0 :(得分:6)

当你将它转换为========= REQUEST ========== <?xml version="1.0" encoding="UTF-8"?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://servisi.gvin.com/BisnodeWebService" xmlns:ns2="https://servisi.bisnode.si/BisnodeWebService"> <SOAP-ENV:Header> <ns2:AuthHeader> <ns2:Username>[user]</ns2:Username> <ns2:Password>[pass]</ns2:Password> </ns2:AuthHeader> </SOAP-ENV:Header> <SOAP-ENV:Body> <ns1:GetData_PodjetjeReport> <ns1:sMSorDS>1234567</ns1:sMSorDS> </ns1:GetData_PodjetjeReport> </SOAP-ENV:Body> </SOAP-ENV:Envelope> 的整数时,没有必要,因为int已经处理(忽略)前导和尾随空格*:

int

如果您使用>>> int('1 ') 1 >>> int(' 1') 1 >>> int(' 1\n\t') # also handles other spaces like newlines or tabs 1 (包含尾随的换行符)并且您不知道使用该值的函数是否可以<,则删除空格非常重要/ em>处理其他空格。

*仅供参考:sys.stdin.readlinefloatcomplexfractions.Fraction类型也会忽略前导和尾随空格,因此您不需要{{ 1}}如果您使用其中任何一个字符串。