I'm new to Python, and I'm wondering how to print multiple values without having the extra space added in between. I want the output ab
rather than a b
without having to call print
twice:
print("a", end="") print("b")
Also, I have the following code:
a = 42 b = 84
and I want to print their values as a = 42, b = 84
, yet if I do
print("a = ", a, ", ", b = ", b)
extra spaces are added (it outputs a = 42 , b = 84
)
Whereas the Java style,
print("a = " + a + ", b = " + b)
raises a TypeError
.
Python String strip() function will remove leading and trailing whitespaces. If you want to remove only leading or trailing spaces, use lstrip() or rstrip() function instead.
Don't use print ..., (with a trailing comma) if you don't want spaces. Use string concatenation or formatting. The latter is far more flexible, see the str. format() method documentation and the Formatting String Syntax section.
You can use the sep
parameter to get rid of the spaces:
>>> print("a","b","c") a b c >>> print("a","b","c",sep="") abc
I don't know what you mean by "Java style"; in Python you can't add strings to (say) integers that way, although if a
and b
are strings it'll work. You have several other options, of course:
>>> 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
The last one requires Python 3.6 or later. For earlier versions, you can simulate the same effect (although I don't recommend this in general, it comes in handy sometimes and there's no point pretending otherwise):
>>> print("a = {a}, b = {b}".format(**locals())) a = 2, b = 3 >>> print("b = {b}, a = {a}".format(**locals())) b = 3, a = 2
The actual syntax of the print() function is
print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)
You can see it has an arg sep
with default value ' '
. That's why space gets inserted in between.
print("United","States") #Output: United States print("United","States",sep="") #Output: UnitedStates
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With