As the definition on the Internet, IPython is an enhanced interactive Python shell. It has a lot of attractive features over the original Python shell. I take a quick look at them, and list my favorites.
  • Auto completion with "Tab". For example, s is a string, if you press "Tab" after "s.", all methods of Python string will be listed, just like the auto completion in my konsole.
  • Auto indent.
  • IPython will add parentheses to functions and methods. For example, dir '' is the same with dir('')
  • Magic commands. Common used shell commands are also available in IPython shell, such as "cd", "ls", "mkdir". Another two magic commands are very useful. The first one is "edit". In IPython shell, command "edit xxx" will invoke vim to edit the xxx file. (Vim is the default editor and emacs is supported too.) Another useful command is run. You can use command "run xxx.py" to run xxx. There are lots of other magic commands that I haven't tested. You can use command "lsmagic" to list them.
  • Dynamic object information. Type "?word" and "??word" prints detailed information about an object.
  • System shell access. Any shell commands can be used in IPython by add "!" in the front. For example, "!ifconfig" will pass "ifconfig" to the shell directly.
There are many other features like "session logging and restoreing", "Input and output caching" that I haven't tested yet. If you are learning Python, I strongly recommend it to you.
Let's try it together!

Blogged with Flock

Tags: