Advanced Python

Purpose

Learn the basics of the Python programming language

Objectives

  • Use metaclasses and descriptors to customize Python class creation
  • Use Python's asyncio module to build explicitly asynchronous programs
  • Packaging Python libraries and applications for distribution

Audience

Experienced Python developers looking to take advantage of advanced Python idioms and protocols to level up their skills even further

Prerequisites

Students should be familiar with the topics of the Intermediate Python course, particularly object-oriented programming (OOP), basic ideas of network programming, and basic ideas behind relational databases.

Course Outline

  • Introduction and review
    • Jupiter notebooks, briefly
    • Core Python syntax review
  • Advanced Python syntax
    • Iterables, iterators, and generators
    • Advanced generators: pipelines and coroutines
    • Explicitly asynchronous I/O
  • Advanced object-oriented programming
    • Metaclasses and class decorators
    • Descriptors
  • Packaging projects for distribution
  • Network programming
    • Handling HTML, XML, and JSON
    • Processing email
    • Basic web programming: WSGI
  • Database programming
    • Relational databases
    • SQLAlchemy
    • MongoDB
  • Distributed programming with Celery

Please contact us for information on pricing and availability