Skip to content

Assigning to a keyword generates unclear SyntaxError message #138885

@StanFromIreland

Description

@StanFromIreland

Feature or enhancement

Proposal:

When one attempts to assign to a keyword, one receives a SyntaxError with the unhelpful message invalid syntax:

>>> class = "Mammalia"
  File "<python-input-0>", line 1
    class = "Mammalia"
          ^
SyntaxError: invalid syntax

I propose changing this to something along the lines of (undecided on what the message should be, adding "reserved" makes it simpler for beginners IMO):

>>> class = "Mammalia"
  File "<python-input-0>", line 1
    class = "Mammalia"
    ^^^^^^^^^^^^^^^^^^
SyntaxError: cannot assign to reserved keyword 'class'

Note that this is already implemented for True, False and None:

>>> True = 1
  File "<python-input-0>", line 1
    True = 1
    ^^^^
SyntaxError: cannot assign to True

Adding this is a simple grammar change, I have a PR ready.
cc @sobolevn

Has this already been discussed elsewhere?

This is a minor feature, which does not need previous discussion elsewhere

Links to previous discussion of this feature:

No response

Linked PRs

Metadata

Metadata

Labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions