If you're familiar with Python, you may have noticed that the built-in function
print() doesn't need an explicit
\n character at the end of each line.
This means that the output from the following snippet of code
print('freeCodeCamp Curriculum') print('freeCodeCamp News') print('freeCodeCamp YouTube Channel')
freeCodeCamp Curriculum freeCodeCamp News freeCodeCamp YouTube Channel
This happens because the
print() function adds the
\n character to the end of each printed line. Although most of the time this is a convenience, you may sometimes want to print out lines without the
In this article, you'll learn how to change the end of each print statement. And you'll also learn a number of other ways to modify how the built-in function behaves by default.
How to Print Without a Newline in Python
According to the official documentation for the
print() function, the function signature is as follows:
print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)
As you can see the function takes five arguments in total. The first one is the object(s) that you want to print on the terminal. Then there is the separator (which you'll learn about in a later section), and the
The default value of the
end parameter is
\n, which means a newline character will be appended to each line printed on the terminal.
To change this behavior, you can simply override this parameter as follows:
print('freeCodeCamp Curriculum', end=', ') print('freeCodeCamp News', end=', ') print('freeCodeCamp YouTube Channel')
Since, I've changed the value of
end to a comma, the output will be
freeCodeCamp Curriculum, freeCodeCamp News, freeCodeCamp YouTube Channel instead of the three separate lines.
You can use any character as the value of
end. If you'd want nothing at the end of lines, simply use an empty string.
How to Print With a Separator in Python
sep argument in the function signature? In this section, you'll learn about its usage.
You may or may not know already that the
print() function can take multiple objects at once to print out as follows:
print('freeCodeCamp Curriculum', 'freeCodeCamp News', 'freeCodeCamp YouTube Channel')
The output from this code will be:
freeCodeCamp Curriculum, freeCodeCamp News, freeCodeCamp YouTube Channel
As you can see, the function has printed the three strings in a single line separated by commas. If you want to use something else like a dash as a separator, you can do so as follows:
print('freeCodeCamp Curriculum', 'freeCodeCamp News', 'freeCodeCamp YouTube Channel', sep=' - ')
The output from this code will be:
freeCodeCamp Curriculum - freeCodeCamp News - freeCodeCamp YouTube Channel
I hope you've got the idea. Like the
end argument, you can use more or less any valid string as the value of the
How to Print to a File in Python
Instead of printing things to the terminal, you can also use the
print() function to print stuff directly to a file.
print() function takes another argument
file which defaults to
sys.stdout or the standard output. It's the default file descriptor where a process can write output.
You can override this to write to a file instead as follows:
with open('output.txt', 'w') as f: print('freeCodeCamp', file=f)
First, you open a file called
f and pass that as the value of the
file argument. If you run the code a new file will be created and inside that file will be your output.
print() function is one of the most commonly used functions in Python. So having a good understanding of the different usages of this built-in function can increase your productivity.
There is also another argument,
flush, in the function. It's a boolean and setting it to
True will flush the output on every execution.
I also have a personal blog where I write about random tech stuff, so if you're interested in something like that, checkout https://farhan.dev. If you have any questions or are confused about anything – or just want to get in touch – I'm available on Twitter and LinkedIn.