There are different ways through which we can print to the console without a newline. Let’s quickly go through some of these methods.
1. Using print()
We can use the
print() function to achieve this, by setting the
end (ending character) keyword argument appropriately.
By default, this is a newline character (
\n). So, we must change this to avoid printing a newline at the end.
There are many options for this choice. We could use a space to print space-separated strings.
a = "Hello" b = "from AskPython" print(a, end=' ') print(b)
This would print strings
b, separated by a single space, instead of a newline.
Hello from AskPython
We could also print them consecutively, without any gap, by using an empty string.
a = "Hello" b = "from AskPython" print(a, end='') print(b)
2. Printing list elements without a Newline
Sometimes, when iterating through a list, we may need to print all its elements on the same line. To do that, we can again use the same logic as before, using the
end keyword argument.
a = ["Hello", "how", "are", "you?"] for i in a: print(i, end=" ")
Hello how are you?
3. Using the sys module
We can also use the
sys module to print without a newline.
More specifically, the
sys.stdout.write() function enables us to write to the console without a newline.
import sys sys.stdout.write("Hello from AskPython.") sys.stdout.write("This is printed on the same line too!")
Hello from AskPython.This is printed on the same line too!
4. Creating our own C style printf() function
We can also create our custom
printf() function in Python! Yes, this is possible using the module
functools, which allows us to define new functions from existing ones via
Let’s use the same logic on the
end keyword argument on
print() and use it to create our
import functools # Create our printf function using # print() invoked using the end="" # keyword argument printf = functools.partial(print, end="") # Notice the semicolon too! This is very familiar for a # lot of you! printf("Hello!"); printf("This is also on the same line!");
Hello!This is also on the same line!
We can also combine the semicolon to this (Python compiler will not complain) to bring back our C
printf() function as it was!