PLY is a python implementation of lex & yacc. Allowing you to implement a lexer, interpreter or compiler in python.
If you have used lex/yacc (or flex/bison) before, it is very straightforward to use.
An example of implementing a calculator with PLY. You can start here if you want to get going quickly.
I used it and it is (combined with the power of python) really powerful.