Ora

What does print n mean?

Published in Python Output 3 mins read

"Print n" refers to the action of displaying the value stored in a variable named n to the standard output, typically your console or terminal. The exact syntax and behavior depend on the version of Python being used.

Understanding 'print n' in Python

While "print n" might look like a simple instruction, its interpretation is crucial for understanding how Python interacts with variables and outputs information.

Python 2: The 'print' Statement

In Python 2, print n is a statement, not a function. When you execute print n, Python retrieves the value currently assigned to the variable n and displays it on a new line.

Example:

# Python 2
n = 123
print n
# Output:
# 123

Here, the value 123 is printed, and then the cursor moves to the next line.

Python 3: The 'print()' Function

In Python 3, print evolved from a statement into a function. Therefore, print n is not valid syntax. To achieve the same outcome as in Python 2, you must use print(n), treating print as a function that requires parentheses around its arguments.

The print() function in Python 3 is highly versatile, allowing you to print multiple items, control separators, and, importantly, manage line endings.

Example:

# Python 3
n = "Hello, World!"
print(n)
# Output:
# Hello, World!

Key Differences and Behavior:

Feature Python 2 (print n) Python 3 (print(n))
Syntax Statement (no parentheses required for single item) Function (requires parentheses)
Functionality Prints value, adds a newline by default. Prints value, automatically appends a newline character (\n) by default.
Flexibility Less flexible; advanced output control is limited. More flexible with keyword arguments (sep, end, file, flush).

The Newline Character and 'print()' Output

A fundamental aspect of the print() function (and the print statement in Python 2) is its default behavior of adding a newline character (\n) to the end of its output. This character is invisible but signals the system to move the cursor to the beginning of the next line, ensuring subsequent output appears on a new line.

For instance, if you run:

# Python 3
print("First line")
print("Second line")

The output will be:

First line
Second line

This is because each print() call automatically adds \n at the end.

Customizing Output with the end Argument

While the default newline behavior is often desired, there are scenarios where you might want to print multiple items on the same line or use a different line ending. This is where the end keyword argument of the Python 3 print() function becomes invaluable.

By adjusting the end argument, you can specify what character(s) should be appended to the output instead of the default newline. Setting end to an empty string ("") will suppress the newline altogether.

Practical Examples:

  • Suppressing Newline:

    # Python 3
    print("Printing on", end=" ")
    print("the same line.")
    # Output:
    # Printing on the same line.

    In this case, the first print() call uses a space as its end character, allowing the second print() call's output to continue on the same line.

  • Using a Custom Separator:

    # Python 3
    for i in range(3):
        print(i, end=", ")
    print("Done!")
    # Output:
    # 0, 1, 2, Done!

In summary, "print n" refers to displaying the value of variable n. In modern Python 3, this is achieved with print(n), where the print() function handles formatting and line breaks, automatically adding a newline unless otherwise specified using the end parameter.