[Edu-sig] The fate of raw_input() in Python 3000

kirby urner kirby.urner at gmail.com
Fri Sep 8 03:08:16 CEST 2006


I will add, maybe just to stir the pot, that I usually teach Python
interactively in the shell for quite some time before writing any
"scripts" and or if my students write stuff, it's for the purpose of
importing said stuff into said shell.

Ergo, I'm not one of those who uses "raw_input" from "day one".  I
rarely use it, and given I'd have gone over importing and namespaces
in some depth before doing so, I'd accommodate the switch to importing
from sys for stdin/stdout i/o w/ few problems (as long as either can
still be redirected).

I think some of us here maybe grew up in the days of early BASIC, when
"a first program" was some loop with a menu, and users prompted with
ans = raw_input("Selection?: ") type stuff.  I rarely think that way
anymore myself.  Treating an entire module as interactive, with no
looping menu overhead, is far more conducive to transitioning to the
GUI event loop later.

In some, maybe it's OK to get rid of raw_input if it prevents another
generation of lame menu loop programming.  Those should be banned
except in upper level "lets think like a 1960s mainframer" course
(esoteric, not for newbies).

Still, that sys.stdin.readline thing looks a lot like Java -- but also
C#.  Sheesh, why am I worried?  IronPython is setting the standard.
That should be OK.

So seriously, from __past__ import is my preferred solution (I called
it 'retro').  I'm not wanting to sign on any petition, in any case --
not my style (except sometimes (signed a "get Shockwave on Linux!" web
thingy, also "Bring Duckman cartoons to DVD!")).

Kirby


More information about the Edu-sig mailing list