3 ms·
I agree with that estimate, I think it was really the idea of Python to be less than "good" by design. I mean one doesn't need more than: >>> exit Use
by acqq 3y ago
I agree with that estimate, I think it was really the idea of Python to be less than "good" by design.
I mean one doesn't need more than:
>>> exit
Use exit() or Ctrl-D (i.e. EOF) to exit
to see. They have that special handling, but they still don't want to let you out, because... IMO, they just want to be annoying.
When a solution could be something like:
Note: exit() is needed in scripts. In this prompt Ctrl-D (i.e. EOF) can also be used.
Exiting.
- heyodai 3y agoYeah, that message is a pet peeve of mine. Like, you know what I'm trying to do.
- Smaug123 3y agoIt sort of doesn't! It's just doing exactly the same thing it would do with any other identifier: it's printing its `repr`. Try `repr(exit)`!
- a1369209993 3y agoMore to the point, try `[len,exit,repr]`. Consider what would happen if `exit.__repr__()` did terminate the program.
- monoprotic 3y agoThere has been discussion of this change a few times, e.g. https://bugs.python.org/issue44603 https://bugs.python.org/issue44603 I generally agree with your overall sentiment, but I think it's important to note that the behavior is _not_ special handling; it's just the normal `repr` behavior at the REPL, where `exit` is an object like any other, and `repr(exit)` is that message.
- acqq 3y agoWhoever types exit in REPL will never care what "repr(exit)" does. Python has a lot excuses about the need to remain "consistent" but the reality isn't so: >>> x = open( "/tmp/whatever123", "w" ) >>> close( x ) Traceback (most recent call last): File "<stdin>", line 1, in <module> NameError: name 'close' is not defined. Did you mean: 'cosh'? ... >>> x.close() >>> >>> x = "tttt" >>> x.len() Traceback (most recent call last): File "<stdin>", line 1, in <module> ... >>> len( x ) 4
- zitterbewegung 3y agoI think this is to be consistent that exit is not a statement but a function. This was done with print. 3.0 was an ergonomic fix for cpython developers and language consistency fixes (also redoing the Unicode implementation).