Altcademy - a Forbes magazine logo Best Coding Bootcamp 2023

What is end in Python

Understanding the end Parameter in Python

When you're just getting your feet wet in the world of programming, you'll often find yourself printing out text and variables to the console. This is a way to get immediate feedback on what your code is doing. In Python, the built-in print() function is your go-to tool for displaying messages and data. But there's a little twist to this simple function that can be quite handy – the end parameter.

Breaking Down the print() Function

Let's start with the basics. The print() function in Python is like telling your program to shout out whatever you put inside the parentheses. For example:

print("Hello, world!")

This will result in your program displaying "Hello, world!" on the screen. Simple, right? But what happens when you print out multiple things?


You'll notice that "Hello," and "world!" are on separate lines. That's because by default, print() adds a newline character (\n) at the end of the string it prints. This newline character is like hitting the "Enter" key when you're typing; it moves the cursor to the beginning of the next line.

The Role of the end Parameter

Now, what if you don't want your words to be lonely on separate lines? What if you want them to cozy up on the same line? That's where the end parameter comes into play.

The end parameter tells the print() function what character to put at the end of its output, instead of the default newline character. Here's an example:

print("Hello,", end=" ")

In this code, we've told the first print() function to use a space (" ") instead of a newline at the end. The result? "Hello, world!" appears on one line, with a space between the words.

Experimenting with Different end Values

You're not limited to just a space. You can put anything you want as the end parameter, including nothing at all! Let's play around with a few examples:

# Using a space
print("Cats", end=" ")

# Using a dash
print("Cats", end="-")

# Using nothing
print("Cats", end="")

The first set of prints will give you "Cats and dogs." with "and" on a new line. The second set will show "Cats-and dogs." with "and" again on a new line. The third set will display "Catsand dogs." with no space between "Cats" and "and".

Real-World Analogies

To help you understand the end parameter better, think of a train. Each carriage (print statement) usually follows the other, separated by a gap (the newline character). But what if we want the carriages to be connected without gaps? We would use a connector (the end parameter) to link them together.

Building a Progress Indicator

Let's put our knowledge into practice with something you might find useful: a progress indicator. Often, when a program is running a long task, it's nice to show the user that progress is being made. Here's a simple way to do that using end:

import time

print("Progress:", end=" ")
for i in range(10):
    print(".", end="", flush=True)
    time.sleep(0.5) # Wait half a second
print(" Done!")

In this example, we print out a dot every half second to indicate progress, all on the same line, thanks to end="". The flush=True argument is used here to ensure that each dot is printed immediately, as sometimes the output can be buffered (stored temporarily) and not shown right away.

Conclusion: The Power of end

The end parameter might seem like a small detail in the grand scheme of programming, but as you've seen, it can be quite powerful. It allows you to control the format of your output with precision, whether you're making your text more readable, creating a simple progress indicator, or just having a bit of fun with your output.

Imagine the end parameter as the silent conductor of your print statements, guiding the flow of text on the screen with a subtle, yet impactful presence. With this tool in your coding toolkit, you can ensure that your programs communicate with users exactly as you intend, one line (or not) at a time.

As you continue your programming journey, remember that these small details can make a big difference in the clarity and usability of your code. Keep experimenting, keep learning, and most importantly, keep printing your path to coding mastery.