Aprendo que exit no es una palabra clave en Python por,

import keyword
print('exit' in keyword.kwlist)     # Output: False

Pero no hay recordatorio de NameError: name 'exit' is not defined mientras lo usa. El resultado del siguiente código de fragmento me confunde. ¿Puede alguien ayudarme?

for i in range(5):
    print(i)
    cur=i if i<2 else exit

print(cur)
# Output
0
1
2
3
4
Use exit() or Ctrl-D (i.e. EOF) to exit

No puedo obtener información relacionada con exit de las documentaciones de Python, excepto exit([code=None]).

4
SparkAndShine 13 may. 2016 a las 19:49

4 respuestas

La mejor respuesta

Las palabras clave son parte de la sintaxis de Python. Por lo general, tienen un significado especial en las declaraciones (por ejemplo, for, del, if ...). Esto tiene otras consecuencias, p. Ej. no puede crear una variable con el mismo nombre que una palabra clave.

Los componentes son objetos invocables (p. ej., funciones o al menos como función) que python proporciona en el espacio de nombres de forma predeterminada. ejemplos de funciones integradas son cosas como sorted, id, vars, ...

Vale la pena señalar que exit es una conveniencia proporcionada en una sesión interactiva. Se recomienda utilizar sys.exit en su lugar.

5
mgilson 13 may. 2016 a las 16:58

exit es una instancia de la clase Quitter. La clase Quitter define un método __repr__ que devuelve la cadena que ves cuando escribes exit en el shell. También define un método __call__. Del mismo modo que __init__ se llama cuando se usa una clase como una función, __call__ se llama cuando una instancia se usa como una función. Por lo tanto, exit() llama al método __call__, que sale del programa.

3
zondo 13 may. 2016 a las 16:56

exit es un Constantes integradas agregadas por el módulo site .

El site (que se importa automáticamente durante el inicio, excepto si se proporciona la -S opción de línea de comandos ) agrega varias constantes al espacio de nombres incorporado. Son útiles para la interacción interprete shell y no debe usarse en programas .

1
YaOzI 5 mar. 2019 a las 10:10

exit es la función sys.exit cuando usa la consola interactiva.

Existen muchas cosas mientras no son palabras clave (por ejemplo, sum, int ...). Por lo tanto, puede enlazar a nombres existentes, pero no a palabras clave

0
JBernardo 13 may. 2016 a las 16:51