Book overview

Hello, my name is Viktor Moyseyenko.

This book is compilation of materials I've used in Python Training conducted by me over the years. I was polishing the materials collected here many times in order to get the most comprehensive and yet short Python learning experience possible.

Course itself written in a form of series of Jupyter notebooks with slides to give students interactive materials during presentation on each live session. And this book serves the purpose to be a "static" version of all slides kept in one place (and in fact the book is auto-generated from the slides I am using).

Short course overview:

  1. Introduction to Python

    • This first session is an introduction to Python. It is "Bird's eye view" for this course.

  2. Strings and numbers

    • In this chapter we'll learn about main aspects of Python basic types such as numbers and strings, how to work with them, their methods and attributes, and also - (which is very important to know from the beginning) how to read help and do basic introspection of any object.

  3. Containers

    • This chapter describes sequences such as list and tuples, dictionaries and sets. Additionally it talks about loops and conditions as it is important arsenal for working with mentioned data structures.

  4. Functions

    • This chapter describes functions in Python - how to create, use them, process passed parameters. Also it covers scopes of visibility, lambdas (anonymous functions), generators and some additional topics like functions internals and closures.

  5. Functional Programming

    • This chapters presents most important builtin functionality of Python. Additionally it covers important object called iterator which is capable of returning it's members one by one, nuances of it's creation and usage.

  6. Code Styling

    • This chapter covers main styling guides and recommendations from PEP8.

  7. OOP

    • This chapter covers main aspects of OOP realized in Python - classes, instances, method resolution, inheritance, class and instance methods. Also - magic methods, slots and methods overloading using super() function.

  8. Decorators, Exceptions

    • This chapter talks about Decorators (basics, chaining and parametrizing), lot of examples and tricky usecases (see Riddle and one-time decorator) and Exceptions.

  9. Testing

    • The goal of this chapter is covering basic ideas of how testing is done in Python. Few main test frameworks discussed - doctest (for small projects) and unittest (xUnit/jUnit clone for medium and bigger sized projects).

  10. System Libs

    • In this session we will learn how to operate with files and directories in local filesystem - reading, writing, browsing, copying, moving and deleting.