Python

editing

auto-completion

Automatic completion of variable and module names is optionally available. To enable it in the interpreter’s interactive mode, add the following to your startup file:

import rlcompleter, readline
readline.parse_and_bind('tab: complete')

syntax highlight

bpython

enabling colors in the python interactive shell on OS/X:

bpython appears to do what you want

bpython is a fancy interface to the Python interpreter for Linux, BSD, OS X. bpython is released under the MIT License. (uses Pygments.)