exit
exit


exit
You're viewing a single thread.
That just gave me the idea that it would be fun to inspect exit
a little.
Which led me down this path:
python
>>> repr(exit) 'Use exit() or Ctrl-Z plus Return to exit' >>> dir(exit) [(...), 'eof', 'name'] >>> exit.eof, exit.name ('Ctrl-Z plus Return', 'exit')
Okay, cool, the "Use exit() etc." blurb appears because it's the function's repr
, and the string is assembled from its name
and eof
properties.
Now let's try to make our own:
python
>>> exit.__class__ <class '_sitebuiltins.Quitter'> >>> gtfo = exit.__class__() TypeError: Quitter.__init__() missing 2 required positional arguments: 'name' and 'eof'
Oh Python, you shouldn't have.
python
>>> gtfo = exit.__class__("a big puff of smoke", "a sneaky skedaddle") >>> gtfo Use a big puff of smoke() or a sneaky skedaddle to exit
Beauty!
Obviously they need to make exit
's repr method raise a SystemExit
Does gtfo() then work as expected?
Yup
Nice!