This workshop is intended for developers with Python experience. Participants learns how to use more advanced Python features like iterators, generators or metaclasses. They are exposed to collections, unittest and other very useful modules from Python Standard Library. This workshop can be paired with Basic Python Course.

At this workshop you will learn:

  • How to write code compatible with both Python 2 and 3?
  • How to write good object-oriented programs?
  • How to use Python idioms to shorten and simplify your code?
  • How to leverage Python Standard Library?​​​​​
  • How to test your programs?​​​​​
  • How to write asynchronous programs with asyncio?
  • And much, much more.

Course Syllabus

  1. Differences between Python 2 and 3
  2. Working with virtualenvs
  3. Object Oriented Programming
    1. Properties and Descriptors
    2. Special Methods
    3. Static and Class Methods
    4. Class and Instance Attributes
    5. Inheriting from Immutable and Builtin Types
    6. Multiple Inheritance
    7. Method Resolution Order
    8. Mixins
    9. Metaclasses
    10. Monkey Patching
    11. Duck Typing
    12. Idioms and Good Practices
  4. Other Important Language Constructs
    1. Decorators
    2. Iterators
    3. Generators
    4. Context Managers
    5. Nested Functions and Closures
    6. Comprehension Expressions
    7. Lambda Expressions
  5. collections Module
  6. Testing
    1. Executing Tests
    2. Unittest
    3. Doctest
    4. Code Coverage
  7. Asynchronous Programming
    1. asyncio
    2. Coroutines
    3. Futures
    4. await and async
    5. Testing and Mocking Coroutines