为什么Python在我的print命令中输出括号和引号?

时间:2018-05-31 15:22:30

标签: python

我注意到我的python脚本是打印括号和引号,例如行:

print ("Password set saved on file:", ps_file_name)

输出以下内容:

('Password set saved on file:', '20180531-1719__password_set.txt')

虽然预期结果是:

Password set saved on file: 20180531-1719__password_set.txt

我做错了吗?

编辑:我的错误我正在运行脚本:

Python pmake.py

而不是直接运行3.6版本的脚本

1 个答案:

答案 0 :(得分:1)

这是因为当给出多个参数时,print会写一个元组

str1 = "Hello"
str2 = "world"
print (str1, str2) #will print : (hello, world)

你想要的是

str1 = "Hello"
str2 = "world"
str3 = str1 + str2
print (str3) #will print : Hello world

或者更确切地说

print (str1 + str2)  #see how you give only one argument by concatenating str1 and str2 ?



请注意,如果您想要添加两个不是字符串本身的对象,则必须将它们转换为字符串(就好像有字符串一样)。即使两个对象都可以单独打印。
这是因为python不能添加两个不兼容的东西。

x = "your picture is"
y = someimage.jpg
print(x,y) # works well and dandy, gives a tuple
print(x + y)#fails, python can t add up a string and an image
print(x + str(y))# works because str(y) is y casted into a string

请注意,并非所有内容都可以转换为字符串