Dudas con palabras reservadas

Chema Cortes pych3m4 en gmail.com
Mie Mayo 30 11:59:20 CEST 2007


El 30/05/07, Luis Miguel Morillas <morillas en gmail.com> escribió:
> ¿cuáles son las palabras reservadas de python? las que aparecen en
> keyword.kwlist?
> ¿Por qué ahí no aparecen True, False, None por ejemplo?
> ¿Por qué podemos hacer asignaciones a True y False y no a None? ¿Tiene sentido?
>
> >>> True = 10
> >>> False = 143
> >>> None = 35
>   File "<stdin>", line 1
> SyntaxError: assignment to None

La única explicación es que True/False llevan relativamente poco
tiempo formando parte de la sintaxis; pero es de esperar que todas
acaben formando parte de las palabras reservadas. Por ejemplo, en la
reciente versión de jython 2.2 aún se puede dar valores a None sin
ningún problema y éso que se podría haber equiparado de modo natural
con el "null" de java, palabra reservada.

Un repaso a las versiones de python:

Python 2.3
   - Avisa (SyntaxWarning) cuando se usa 'None' como nombre de
variable o de atributo.
   - Se introduce el tipo bool y se da nombres a sus dos valores
principales (True/False).

Python 2.4
  - Se produce error (SyntaxError) cuando se usa "None" como nombre de
variable o de atributo.
  - El compilador asume None como una constante.
  - Se generaliza el uso de booleanos como resultado de las
comparaciones y dentro de la librería estándar.

Pythoh 2.5
  - No hay novedades en relación con None o True/False.




Más información sobre la lista de distribución Python-es