Python is an increasingly popular programming language. It is flexible, and suitable for many different uses: from software development to data science, from artificial intelligence to scientific computing. It is relatively simple, and one of the best languages to learn programming. This workbook starts from the basics (elementary syntax and first commands) and, through 12 units, progressively moves on to complex cases. Through the exercises it is possible to understand the practical use of a wide variety of constructs, from conditional statements to loops and classes; objects such as strings, lists, tuples and dictionaries; simple (built-in) functions and those created from scratch; modules useful for mathematical calculations or for more specific and complex uses. 38 questions and 117 exercises are commented in order to clarify fundamental concepts and difficult points. The DigitaBook version includes the digital version of the volume, enriched with all the initial and solved files, that allow to carry out the exercises and verify the solutions. The workbook was born as a tool for university courses, but it is designed as a valid support for anyone who wants to approach programming with Python starting from scratch, or improve its use up to a more professional level.