A self-learning document for a course in Python programming -- This course contains (1) a part for beginners, (2) a discussion of several advanced topics that are of interest to Python programmers, (3) a Python workbook with lots of exercises, and (4) a section on generating Python code (with generateDS.py) to process XML documents.