该字符串如何添加到此int

时间:2018-01-26 21:35:07

标签: python string int

我的印象是在Python中,在将int转换为str时需要编写(str),但在这种情况下,如果用户输入一个数字,它仍然可以正常执行

print('Enter a name.')
name = input()
if name:
    print('Thank you for entering a name, ' + name)
else:
    print('You did not enter a name.')

当输入的输入为1(例如(或任何数字))时,我不需要在第4行写+ str(名称)。

3 个答案:

答案 0 :(得分:1)

如果你阅读了input上的文档,那么你会看到这一行引用你的场景:

  

该函数从输入中读取一行,将其转换为 string (剥离尾随换行符),然后返回。

我们也可以在翻译中看到这一点:

>>> type(input())

<class 'str'>

而且,为了澄清,Python 永远不会int返回input(),如果你想进行算术运算,你总是需要转换。

请注意,Python 2 中的行为不同,后者提供input()raw_input()。第一个将输入转换为适当的数据类型(例如int),而后者的功能与Python 3 中的input()相同。

这可以再次在口译员中进行测试:

>>> type(input())
5
<type 'int'>
>>> type(raw_input())
5
<type 'str'>

答案 1 :(得分:0)

因为Python在后台做了一些事情来弄清楚变量类型是什么。另外,input的输入始终是一个字符串。你刚刚连接了两个字符串。

答案 2 :(得分:0)

函数input总是返回一个字符串。您刚刚目睹的是string concatenation

如果您想将input的结果转换为其他类型,比如整数,那么您可以这样做:

x = int(input("Enter a number"))

如果输入无法表示为int类型,则会引发错误。您可以执行其他解析或类型测试(例如isinstance()type() is...),具体取决于您期望的输入的复杂程度。