Home > Backend Development > Python Tutorial > Why Does Python 2.x Throw a 'SyntaxError: Missing parentheses in call to 'print'' When Using the 'end' Keyword Argument?

Why Does Python 2.x Throw a 'SyntaxError: Missing parentheses in call to 'print'' When Using the 'end' Keyword Argument?

Mary-Kate Olsen
Release: 2024-11-10 00:23:02
Original
530 people have browsed it

Why Does Python 2.x Throw a

Handling SyntaxError with Print and End Keyword Argument

When attempting to execute the following code:

if Verbose:
   print("Building internal Index for %d tile(s) ...", end=' ')
Copy after login

an error occurs: "SyntaxError: Missing parentheses in call to 'print'". This is because the keyword argument end is not supported in Python 2.x.

Understanding the Difference

In Python 2.x, print functions as a statement. Hence, the above code is interpreted as a tuple-wrapped call to print, with the final argument being a string literal. However, string literals do not support keyword arguments, leading to the error.

Solution for Python 2.x

In Python 2.x, employ one of the following methods to end a line with a space:

  • Add a final comma to the print statement:

    print "Building internal Index for %d tile(s) ...",
    Copy after login
  • Use the sys.stdout module directly for greater control over output:

    import sys
    sys.stdout.write("Building internal Index for %d tile(s) ... ")
    Copy after login

Enabling End Keyword Argument in Python 2.x

In recent versions of Python 2.x (2.5 and later), the __future__ module allows for the activation of the print function as a function by importing print_function. However, this method may not be compatible with older Python 2.x versions.

Transition to Python 3.x

In Python 3.x, print behaves as a function, enabling the use of keyword arguments such as end. Therefore, the original code should execute correctly in Python 3.x without any modifications.

The above is the detailed content of Why Does Python 2.x Throw a 'SyntaxError: Missing parentheses in call to 'print'' When Using the 'end' Keyword Argument?. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Articles by Author
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template