Python's REPL has autocompletion. It is just not enabled by default as it lives in its own module and python prefers to start in an absolutely clean state.
>>> import readline
>>> import rlcompleter
>>> readline.parse_and_bind('tab: complete')
See this article for the details (and more, like history persistence and REPL startup file): http://valueerror.wordpress.com/2009/11/03/python-shell-hist...