I learn that exit is not a keyword in Python by,
import keyword
print('exit' in keyword.kwlist) # Output: False
But there is no reminder of NameError: name 'exit' is not defined while using it. The output of the following snippet code makes me confused. Can anyone help me out?
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
I am unable to get related info about exit from Python documentations, except for exit([code=None]).
解决方案
Keywords are part of the python syntax. They usually have special meaning in statements (e.g. for, del, if ...). This has other consequences -- e.g. you can't make a variable with the same name as a keyword.
builtins are callable objects (e.g. functions or at least function-like) that python provides in the namespace by default. examples of builtin functions are things like sorted, id, vars, ...
It's worth noting that exit is a convenience provided when in an interactive session. It's highly encouraged to use sys.exit instead.