Advanced Python

This course introduces experienced Python programmers to some of the language’s more advanced features. If you have been using Python for more than six months, and want to understand and explore the more advanced features of the language — making your programs more expressive and powerful — then this course will help you.

4 Days (32 hours)

This course introduces experienced Python programmers to some of the language’s more advanced features. If you have been using Python for more than six months, and want to understand and explore the more advanced features of the language — making your programs more expressive and powerful — then this course will help you.

This is the course that some of the world’s largest and best-known companies (e.g., Apple, Cisco, Western Digital, and VMWare) use, again and again, to help their Python programmers to improve, after they have been using Python for some time.

Besides deep discussions of functional and object-oriented techniques, the course discusses advanced data structures, inner functions, and functional programming techniques, and provides a deep dive into Python’s object system, including topics like iterators, generators, and decorators. It also touches on topics like testing and multiprocessing (processes and threads). The course includes a large number of exercises for hands-on practice, as well as live demos and the opportunity for questions.

Participants receive PDF copies of the slides, files with the answers to exercises, as well as a Jupyter notebook from all live-coding demos.

AUDIENCE

Current Python programmers with at least six months of experience, who are looking to deepen their understanding of the more-advanced, “under-the-hood” features of Python. This course assumes a substantial amount of experience with Python fundamentals.

Syllabus

  • Data Structures
    • Deep dive into basic Python data structures
    • Jupyter notebook
    • Advanced data structures
  • Functions
    • Function objects
    • Parameters including *args and **kwargs
    • Scoping
    • Inner functions
  • Functional Programming
    • Comprehensions (list, dictionary, set)
    • lambda and function parameters
    • map, filter,and reduce
  • Modules and packages
    • Modules and namespaces
    • Modules vs. packages
    • Distribution packages and PyPI
    • Virtualenv
  • Advanced objects
    • Class vs. instance attributes
    • Composition
    • Inheritance
    • Class and static methods
    • Properties
    • Magic methods
    • Multiple inheritance and mixins
    • Descriptors
  • Iterators, generators and decorators
    • Python’s iterator protocol
    • Creating iterators (and why)
    • Generator functions
    • Generator expressions
    • itertools
    • Decorator classes
    • Decorator functions
    • Context managers
    • Decorators

About Instructor

Not Enrolled
This course is currently closed