Parentheses are used to initiate a function call in Python. Here are three examples:
f()calls custom function
fwithout an argument,
print('hello world')calls built-in function
'hello world', and
range(2, 10, 3)calls built-in function
rangeon the integer arguments
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
python --version” in your command-line or terminal.
In Python 2, “
print 'hello world'.
# Python 2 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.
While working as a researcher in distributed systems, Dr. Christian Mayer found his love for teaching computer science students.
To help students reach higher levels of Python success, he founded the programming education website Finxter.com. He’s author of the popular programming book Python One-Liners (NoStarch 2020), coauthor of the Coffee Break Python series of self-published books, computer science enthusiast, freelancer, and owner of one of the top 10 largest Python blogs worldwide.
His passions are writing, reading, and coding. But his greatest passion is to serve aspiring coders through Finxter and help them to boost their skills. You can join his free email academy here.