Printing python 3中的无空格打印

Printing python 3中的无空格打印,printing,python-3.x,Printing,Python 3.x,我是Python新手,我想知道如何打印多个值而不在它们之间添加额外的空间。我希望输出ab而不是ab,而无需调用print两次: print("a", end="") print("b") 此外,我还有以下代码: a = 42 b = 84 我想把它们的值打印成a=42,b=84 print("a = ", a, ", ", b = ", b) 添加了额外的空格(它输出a=42,b=84) 而Java风格 print("a = " + a + ", b = " + b) 引发TypeEr

我是Python新手,我想知道如何打印多个值而不在它们之间添加额外的空间。我希望输出
ab
而不是
ab
,而无需调用
print
两次:

print("a", end="")
print("b")
此外,我还有以下代码:

a = 42
b = 84 
我想把它们的值打印成a=42,b=84

print("a = ", a, ", ", b = ", b)
添加了额外的空格(它输出
a=42,b=84

而Java风格

print("a = " + a + ", b = " + b)

引发
TypeError

您可以使用
sep
参数来清除空格:

>>> print("a","b","c")
a b c
>>> print("a","b","c",sep="")
abc
我不知道你所说的“Java风格”是什么意思;在Python中,不能用这种方式将字符串添加到(比如)整数中,尽管如果
a
b
是字符串,它也可以工作。当然,您还有其他几种选择:

>>> print("a = ", a, ", b = ", b, sep="") 
a = 2, b = 3
>>> print("a = " + str(a) + ", b = " + str(b))
a = 2, b = 3
>>> print("a = {}, b = {}".format(a,b))
a = 2, b = 3
>>> print(f"a = {a}, b = {b}")
a = 2, b = 3
最后一个需要Python 3.6或更高版本。对于早期版本,您可以模拟相同的效果(虽然我一般不建议这样做,但它有时会派上用场,并且没有必要假装其他效果):

答案是打印你的普通文本并在最后使用
sep=”“

所以命令

print("Hole", hole, "Par", par, sep="")
将给予

"Hole1Par4"
假设
hole==1
par==4

也可以使用

print("%d%d" %(a,b))

以格式化字符串的形式打印不以空格分隔的a和b。这与c中的类似。

print()函数的实际语法是

print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)
您可以看到它有一个带有默认值的arg
sep
“。这就是为什么要在两者之间插入空格

print("United","States")            #Output: United States
print("United","States",sep="")     #Output: UnitedStates
print()
将自动在参数之间留出空格

>>> print("a", "b", "c")
a b c
要更好地控制间距,可以使用字符串格式:

>>> v0, v1, v2 = "a", "b", "c"
>>> print("%s%s%s" % (v0, v1, v2))
abc
>>> print("%s%s%s".format(v0, v1, v2)
abc
>>> print(f"{v0}{v1}{v2}")
abc

我喜欢这个主题的指南:

要分离字符串或值,可以在print()中使用sep参数

>>> v0, v1, v2 = "a", "b", "c"
>>> print("%s%s%s" % (v0, v1, v2))
abc
>>> print("%s%s%s".format(v0, v1, v2)
abc
>>> print(f"{v0}{v1}{v2}")
abc
print(a,b,sep='')