Advanced Python Programming

Course:  PYADV
Duration:  2 Days
Level:  II
Course Summary

This course delves into the advanced features and usage of the Python Programming language, one of the most popular and powerful dynamic languages available in the open source community today.

This is a deep, three-day course that is intended to get programmers from novice Python programming experience to deep expertise, using instruction and hands-on exercises. The instructor has over eight years of Python experience and will use examples from real life to illustrate concepts.

« Hide The Details
Topics Covered In This Course

Deep Dive into Python Interpreter and Runtime

  • The Python Language: a formal overview
  • Internals of the Python Interpreter
  • Python program runtime and execution
  • Alternate Python interpreters
  • Modules and Import Hooks
  • Namespaces, Variables and Labels
  • Closures and Scope
  • Operators, Attribute Lookup, and Properties
  • Statements, Expressions and Lambdas

Advanced Functional and OO programming in Python

  • Meet the Python function
  • Function properties
  • Functions as strategies
  • Switch maps
  • Decorators and wrappers
  • Proxies, memoization and currying
  • Meet the Python class
  • Class initialization
  • Descriptors and Metaclasses
  • Instance initialization and finalization
  • __dict__ and __slots__
  • __getattribute__ and class proxies
  • Method Resolution Order (MRO)
  • Evaluating Python Performance
  • Performance tricks and traps
  • Advanced Examples: Iterators
  • Advanced Examples: Generators
  • Advanced Examples: Context Managers

Modern, Scalable Python Programming

  • Advanced I/O
  • threading and green threads
  • Synchronization primitives
  • The GIL
  • multiprocessing
  • Generators and Coroutines
  • Distributed Computing with Python
  • Accessing OS services
  • Idiomatic Python Applications
  • SQL Access with SQLAlchemy
  • XML Access with etree
  • The Web: WSGI, Django and Genshi
  • JSON Access with simplejson and django-piston
  • Sphinx, doctest and project documentation
What You Can Expect

At the end of this course, attendees will be able to:

  • Know the internals of the Python runtime and interpreter
  • Leverage advanced Python programming techniques
  • Utilize tools used by real-world Python engineers to improve code quality, time-to-market, and team collaboration
  • Idiomatically use and even implement powerful Python libraries that at the cutting edge of modern Python programming
Who Should Take This Course

Aimed at developers/engineers. Attendees should already know the basics of Python programming, ideally from the precursor to this course.

Recommended Prerequisites

Basic background in Python programming.

Training Style

45m-1h instruction sections will be separated by 15-30m labs, featuring hands-on examples. Final day will also include a group project, delivered by the end of the day to solidify concepts learned during the course.

« Hide The Details
Related Courses
Code Course Title Duration Level
Python Programming
5 Days
Python Programming Introduction
3 Days

Every student attending a Verhoef Training class will receive a certificate good for $100 toward their next public class taken within a year.

You can also buy "Verhoef Vouchers" to get a discounted rate for a single student in any of our public or web-based classes. Contact your account manager or our sales office for details.

Schedule For This Course
There are currently no public sessions scheduled for this course. We can schedule a private class for your organization just a couple of weeks from now. Or we can let you know the next time we do schedule a public session.
Notify me the next time this course is confirmed!
Can't find the course you want?
Call us at 800.533.3893, or
email us at