Python Print Without Parentheses

Parentheses are used to initiate a function call in Python. Here are three examples:

  • f() calls custom function f without an argument,
  • print('hello world') calls built-in function print with the string argument 'hello world', and
  • range(2, 10, 3) calls built-in function range on the integer arguments 2, 10, and 3.

A common question among Python newbies who have seen some code online that contains print() without parentheses. In other words: How to print() without parentheses?

Python 2 vs Python 3 – Print Statement vs Function

With the introduction of Python 3, the print statement (without parentheses) became a print function (with parentheses). You can check your Python version by running “python --version” in your command-line or terminal.

In Python 2, “print” is a statement and not a function. Consequently, you can print a string without using the function parentheses, for example, print 'hello world'.

# Python 2
print 'hello world'

In Python 3, “print” refers to a built-in function, so if you want to use it, you need to use parentheses, for example, print('hello world').

# Python 3
print('hello world')

You can learn more about the print() function in this explainer video:

There’s no way in Python 3 to print without parentheses. However, you can print with parentheses in Python 2 by adding the line “from __future__import print_function” to the top of your code snippet.

# Python 2
from __future__ import print_function
print('hello world')

If you’re really lazy and you don’t want to type the two additional parentheses characters, first you should know that the empty space in Python 2 must be typed too. And second, you can use the following trick to save four (!) characters each time you want to print something in Python 3:

# Python 3
p = print
p('hello world')

But you need to invest nine characters first for the “p = print” line (which you could reduce to seven “p=print“). Technically, this investment of characters only pays off if you call the newly-created p() function at least three times (or twice if you insist on the whitespace-free variant).

(I know I know — here’s the disclaimer: don’t do this at home!) 🤨 It’s bad style and people will hate you for it. I know because I’ve written a book on Python One-Liners—something that is equally frowned upon.

For all the hurt souls out there, here’s the Zen of Python again:

>>> import this
The Zen of Python, by Tim Peters

Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren't special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one-- and preferably only one --obvious way to do it.
Although that way may not be obvious at first unless you're Dutch.
Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, it's a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea -- let's do more of those!

Where to Go From Here?

Enough theory, let’s get some practice!

To become successful in coding, you need to get out there and solve real problems for real people. That’s how you can become a six-figure earner easily. And that’s how you polish the skills you really need in practice. After all, what’s the use of learning theory that nobody ever needs?

Practice projects is how you sharpen your saw in coding!

Do you want to become a code master by focusing on practical code projects that actually earn you money and solve problems for people?

Then become a Python freelance developer! It’s the best way of approaching the task of improving your Python skills—even if you are a complete beginner.

Join my free webinar “How to Build Your High-Income Skill Python” and watch how I grew my coding business online and how you can, too—from the comfort of your own home.

Join the free webinar now!