Adventures in Machine Learning

Mastering the Python 3 Print Function: How to Use It Effectively and Fix Common Errors

Python 3 brings a range of exciting new features, making it more powerful than ever. However, one of the most significant changes is the print() function.

Let us explore why print() is an essential tool in Python 3, how to use it effectively, and how to fix common errors. Error message when using old-style print statement in Python 3:

If you are a Python 2 veteran using old code with print statements, you will encounter a Syntax Error when trying to execute it in Python 3.

The error message shows “Missing parentheses in call to ‘print’.” Python 3 no longer supports the old print statement, instead requiring parentheses around its arguments. How to fix the error:

To correct this error and print a string literal, you need to use print() with parentheses.

A simple example is print(“Hello World”) which will print a single line. Sometimes, you want to print several items separated by whitespace, which can be accomplished by passing in multiple arguments:


print(“I”, “am”, “a”, “robot”)


Using this code will result in the output “I am a robot.”

However, if you want to specify the separator, you can use the sep keyword argument.

For example:


print(“I”, “am”, “a”, “robot”, sep=”-“)


This will output “I-am-a-robot.”

In case of more complex output formatting, or when mixing expressions with string literals, you can use printf-style formatting with str.format() or formatted string literals, also known as f-strings. The benefits of using print() function in Python 3:

Using multiple arguments with print():

When you want to print several items at once, you can make use of the print() function’s flexibility.

You can pass multiple arguments to print() separated by whitespace, which will be concatenated and separated by a space. The sep keyword argument allows you to specify the separator.

You can use this to separate the output with a hyphen, asterisk, comma, or any other symbol of your choosing. Formatted string literals (f-strings):

Formatted string literals, or f-strings, are a new feature in Python 3.6 that allows you to embed expressions inside string literals, using curly braces {} to indicate the expressions.

The f-strings can be used with integers, strings, and other data types. For instance, if you wanted to print a message with the value of pi, you could use:


pi = 3.14159265359

print(f”The value of pi is {pi:.2f}”)


This code will output “The value of pi is 3.14”.

F-strings can also be used to concatenate strings, similar to printf-style formatting. For example:


name = “Alice”

age = 26

print(f”My name is {name} and I am {age} years old.”)


This code will output “My name is Alice and I am 26 years old.”


It is essential to understand the print() function in Python 3 and how it differs from Python 2’s print statement.

By using print() effectively, you can output strings with multiple arguments, separate strings with varying delimiters, and format output messages using f-strings. Understanding these concepts can lead to better and more efficient code in your Python 3 projects.

Summary of the article:

Printing is an essential function in any programming language, including Python. In Python 3, the old-style print statements are no longer valid, and the print() function must be used instead.

This article highlights the benefits of using print() with multiple arguments and different separators, including the sep keyword argument. It also explores formatted string literals, also known as f-strings, and how they can be used to format output messages and concatenate strings.

F-strings are a new feature in Python 3.6 that allows you to embed expressions inside string literals using curly braces. The expressions are evaluated at runtime and inserted into the string.

F-strings are powerful and offer a more concise and readable way of formatting output messages and strings. By using f-strings, you can print messages with variables and calculations without the need for complex printf-style or str.format() syntax.

Author’s background and Twitter handle:

As a software engineer and open-source contributor, I have extensive experience in Python and other programming languages. I have worked on projects ranging from web applications and databases to system automation tools using Python.

I am a firm believer in the open-source community and have contributed to several Python libraries and frameworks. You can follow me on Twitter @pythondev45 for more programming-related ideas and discussions.

Don’t hesitate to reach out if you have any questions or feedback on this article or other software development topics. In conclusion, using the print() function in Python 3 is essential for outputting strings with multiple arguments and different separators.

Additionally, formatted string literals or f-strings are a powerful and concise way to format output messages and concatenate strings. By mastering the print() function and f-strings, you can write more efficient and effective Python code.

Remember to use the print() function with parentheses and to make use of f-strings to write clean and readable code. As we continue to embrace Python 3, let’s make sure to take advantage of its powerful features.

Popular Posts