在print()中使用str()

时间:2019-03-05 21:06:47

标签: python

如果我使用:

>>> n = input("What is your name? ")
What is your name? 23

>>> print("Hello " + n)

输出为

Hello 23

然后正确打印。但是,如果我使用:

>>> n = 1
>>> print("Hello" + n)

结果:

Traceback (most recent call last):   File "<pyshell#74>", line 1, in
<module>
    print("Hello" + n) TypeError: can only concatenate str (not "int") to str

然后给出一个错误。 我知道在不使用str()函数的情况下不允许使用字符串打印数字,因此在第一种情况下为什么不给出错误?

4 个答案:

答案 0 :(得分:3)

因为input() 始终返回str

在您的第一个示例中,n"23",而不是23,因此串联是有效的。

答案 1 :(得分:3)

input函数始终返回一个字符串,因此即使用户输入了数字,input仍然返回字符串中的数字,因此可以将其与另一个字符串连接。

答案 2 :(得分:1)

这是因为my_dict = {'fruit': ['apple']} 返回一个字符串,即您的示例中的字符串my_dict = {'fruit': 'apple'} li = my_dict.get('fruit') if type(li) is list: for fruit in li: print(fruit) else: print(li)

检查:

input()

答案 3 :(得分:0)

运算符apiVersion: v1 kind: Service metadata: name: identity-cluster-ip-service spec: type: ClusterIP selector: component: identity-service ports: - port: 5050 targetPort: 5050 的操作取决于操作数的类型,但是两者必须相同。对于字符串,它是用于连接的,因此,两个操作数都应为同一类型+。但是,type仍然允许您使用string在同一行上打印两种不同类型的操作数。

例如

python