What does end=' ' in a print call exactly do?
Categories:
Understanding end=' '
in Python's print()
Function

Explore the exact functionality of the end
parameter in Python's print()
function, how it controls output termination, and its practical applications.
The print()
function in Python is a fundamental tool for displaying output to the console. While its basic usage is straightforward, it comes with several optional parameters that allow for fine-grained control over how output is formatted. One of the most commonly used, yet sometimes misunderstood, parameters is end
.
The Default Behavior of print()
By default, after print()
displays its arguments, it appends a newline character (\n
) to the end of the output. This causes subsequent print()
calls to start on a new line. This behavior is often desired, but there are many scenarios where you might want to prevent this automatic newline or replace it with something else.
print("Hello")
print("World")
Default print()
behavior
The output of the above code will be:
Hello
World
Each print()
call results in its own line because of the default end='\n'
.
What end=' '
Exactly Does
The end
parameter in the print()
function specifies the string that should be appended after all the items have been printed. Its default value is \n
(a newline character). When you set end=' '
, you are explicitly telling Python to append a single space character instead of a newline character after the printed items. This means that the cursor will remain on the same line, and any subsequent print()
calls will continue their output on that same line, separated by the specified end
string.
flowchart TD A[print() function call] --> B{Is 'end' parameter specified?} B -->|No| C[Append default newline (\n)] B -->|Yes| D[Append specified 'end' string] C --> E[Move cursor to next line] D --> F[Cursor remains on current line (if 'end' is not \n)] E --> G[End print operation] F --> G[End print operation]
Flowchart of print()
function's end
parameter logic
print("Hello", end=' ')
print("World")
Using end=' '
to keep output on the same line
The output of this code will be:
Hello World
Notice how "World" appears on the same line as "Hello", separated by a space, because the first print()
call used end=' '
.
Practical Applications of end
The end
parameter is incredibly versatile and useful in various programming scenarios:
end
parameter can be any string, not just a space or a newline. You can use it to append commas, hyphens, or any custom separator.# Printing a sequence of numbers on one line, separated by commas
for i in range(5):
print(i, end=', ')
print("Done") # This will start on the same line after the last comma and space
print("\n") # Add an extra newline for clarity
# Printing a progress indicator
import time
print("Loading", end='')
for _ in range(3):
print(".", end='')
time.sleep(0.5)
print(" Complete!")
Examples of using end
for custom separators and progress indicators
The output for the above examples will be:
0, 1, 2, 3, 4, Done
Loading... Complete!
These examples demonstrate how end
allows for flexible output formatting, making it easier to create clean and readable console output without manually concatenating strings or dealing with extra newlines.