Others have already told you the most important things. There is another secondary advantage: the code inside a function runs faster (something related is true for C programs too). Usually this isn't important, but for certain programs they can go 20%+ faster.
Bye, bearophile -- http://mail.python.org/mailman/listinfo/python-list