python / python/cpython

Assigning to a keyword generates unclear SyntaxError message

Abierto
#138,885 0 comentarios 1 reacción 1 asignado Ver en GitHub

@StanFromIreland ya está trabajando en esto.

Desde el 14/9/2025.

interpreter-core topic-parser type-feature
Lenguaje dominante
Python
Estrellas
77.2k
Forks
35.9k
Métricas de merge de PR
Métricas de PR pendientes

Descripción

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
  • gh-138888

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.