The Basics of Printing in Python
This article is a complementary resource to the Learn Python Basics course.
This article is a complementary resource to the Learn Python Basics course.
As you know, we use the print()
function to display output on the screen. For example,
name = "John"
age = 10
print("Name:", name)
print("Age:", age)
The print()
function in Python automatically adds a space between variables. Any extra spaces you include in the code are disregarded. For example:
age = 10
print("Age:", age)
#Output: Age: 10
You might think that the space between "Age:"
and age
is caused by the space after the comma.
However, that's not the case—the space is automatically added by print()
, regardless of how many spaces you have after the comma.
age = 10
print("Age:", age)
print("Age:" , age)
print("Age:" , age)
Here, all the print line provides same output:
Age: 10 Age: 10 Age: 10
What if you don't want the space and want the output to be like this?
Age:10
You can use an f-string to gain more control over formatting:
age = 10
print(f"Age:{age}")
#Output: Age:10
This will print exactly as you want, without any spaces between "Age:"
and the value of variable.
Previously, we discussed that print()
automatically adds a space between variables, even if there is no space explicitly written. This happens because Python uses a space as the default separator.
age = 10
print("Age:", age)
#Output: Age: 10
is essentially the same as:
age = 10
print("Age:", age, sep=" ")
#Output: Age: 10
The sep
parameter specifies the string that will be used to separate multiple values when printed, replacing the default space between them.
Now, if you don't want space after "Age:"
and age
. You can simply use the following code:
age = 10
print("Age:", age, sep="")
# Output: Age:10
We can also add a custom separator as:
age = 10
print("Age:", age, sep="<-->")
# Output: Age:<-->10
Whenever you use print()
in Python, the next statement automatically starts on a new line. This is because, by default, print()
adds a newline character (\n
) at the end of the output.
age = 10
name = "John"
print("Age:", age)
print("Name:", name)
Output
Age: 10 Name: John
is same as
age = 10
name = "John"
print("Age:", age, end="\n")
print("Name:", name, end="\n")
Output
Age: 10 Name: John
Here, end="\n"
adds a new line after each print()
statement. You can customize the end parameter to change this behavior.
For instance, you can use an empty string (end=""
) if you don't want a newline after the output:
age = 10
name = "John"
print("Age:", age, end=" ")
print("Name:", name)
Output
Age: 10 Name: John
You can also use other string:
name = "John"
age = 10
print("Age:", age, end="------")
print("Name:", name)
#Output: Age: 10------Name: John
print(f"Age: {age}")
, as they offer better readability than using sep
.print()
, use the end
parameter: print("Age:", age, end="")
.