Python 4: Advanced Python

In this course, you will learn to incorporate further object-oriented design principles and techniques with the intention of rounding out your skill set. Techniques like recursion, composition, and delegation are explained and put into practice through the ever-present test-driven practical work.

Upon completion of this course, you will be able to:

  • Extend Python code functionality through inheritance, complex delegation, and recursive composition.
  • Publish, subscribe, and optimize your code.
  • Create advanced class decorators and generators in Python.
  • Demonstrate knowledge of Python introspection.
  • Apply multi-threading and multiprocessing to Python development.
  • Manage arithmetic contexts and memory mapping.
  • Demonstrate understanding of the Python community, conferences, and job market.
  • Develop a multiprocessing solution to a significant data processing problem.

From beginning to end, you will learn by doing Python-based projects and submitting them for instructor feedback.  These projects, as well as the final project, will add to your portfolio and will contribute to certificate completion.  Courses are delivered using the Eclipse-based Ellipse learning IDE (Integrated Development Environment) and require only that you be online and able to use a browser. Besides a browser and Internet connection, all software is provided online by the O’Reilly School of Technology.

This course counts toward the Python Programming Certificate Series.

Prerequisites: Python 3: The Python Environment, or equivalent skills.  This course is meant for the intermediate or advanced Python programmer.

90 Clock-hours

$548.00 (plus fees)

Enroll in Course

Course Details and Syllabus

Course: Python 4: Advanced Python
Tuition: $548.00 (plus fees)
Time Frame: This course is online and self-paced. You can expect to work approximately 90 hours on this course.
Technical Requirements: As long as you have a web browser and internet connection, you can take this course from anywhere in the world.
Software: The Ellipse Learning Sandbox provided for you will contain all your lessons, projects, quizzes, account files, editors, and compiling tools necessary to build your skills from beginning to end, even beyond coursework. No other software is needed.
Instructor: You will have one instructor throughout the course who will evaluate your projects and quizzes, hand them back for improvement when necessary, and coach you throughout your skills advancement.
Book: All required course materials and software are included online within the Learning Sandbox. However, within a few weeks of enrolling, you’ll receive the included ebook Programming Python, Fourth Edition as a reference resource from O’Reilly.
Certificates: Completion of this course counts toward the Python Programming Certificate Series.
Prerequisites: Python 3: The Python Environment, or equivalent skills. This course is meant for the intermediate or advanced Python programmer.
Topics: OO Programming, recursion, objects, hooking, optimization, exceptions, decorators, generators, scope, introspection, XML-RPC, JSON, multi-threading, multiprocessing, web services, etc.
  • Python 4 Lesson 1 — Futzing with Functions
    • Lesson Format
    • Functions are Objects
  • Python 4 Lesson 2 — Ditzing with Data Structures
    • The Importance of Data
    • Creating a Two-Dimensional Array
    • Summary
  • Python 4 Lesson 3 — Delegation and Composition
    • Extending Functionality by Inheritance
    • More Complex Delegation
    • Extending Functionality by Composition
    • Recursive Composition
  • Python 4 Lesson 4 — Publish and Subscribe
    • On Program Structure
    • Publish and Subscribe
    • A Note on Debugging
  • Python 4 Lesson 5 — Optimizing Your Code
    • Start with Correctness
    • The Profile Module
    • What to Optimize
    • How to Optimize
  • Python 4 Lesson 6 — Using Exceptions Wisely
    • Exceptions are Not (Necessarily) Errors
    • Creating Exceptions and Raising Instances
    • Exception Timing
  • Python 4 Lesson 7 — Advanced Uses of Decorators
    • Decorator Syntax
    • Classes as Decorators
    • Class Decorators
    • Odd Decorator Tricks
    • Static and Class Method Decorators
    • Parametrizing Decorators
  • Python 4 Lesson 8 — Advanced Generators
    • What Generators Represent
    • Uses of Infinite Sequences
    • The Itertools Module
    • Generator Expressions
  • Python 4 Lesson 9 — Uses of Introspection
    • The Meaning of “Introspection”
    • Attribute Handling Functions
    • What Use is Introspection?
    • The Inspect module
  • Python 4 Lesson 10 — Multi-Threading
    • Threads and Processes
    • The Threading Library Module
  • Python 4 Lesson 11 — More on Multi-Threading
    • Thread Synchronization
    • The Queue Standard Library
  • Python 4 Lesson 12 — Multi-Processing
    • The Multiprocessing Library Module
    • A Multiprocessing Worker Process Pool
  • Python 4 Lesson 13 — Functions and Other Objects
    • A Deeper Look at Functions
    • More Magic Methods
  • Python 4 Lesson 14 — Context Managers
    • Another Python Control Structure: The With Statement
    • Decimal Arithmetic and Arithmetic Contexts
  • Python 4 Lesson 15 — Memory-Mapped Files
    • Memory Mapping
    • A Memory-Mapped Example
  • Python 4 Lesson 16 — Your Future With Python
    • Python Conferences
    • The Python Job Market and Career Choices
    • Python Development
    • Tips and Wrinkles

On your way to a Certificate of Professional Development:

Python Programming Certificate

Python 1: Beginning Python $548.00 (plus fees)


Python 2: Getting More Out of Python $548.00 (plus fees)


Python 3: The Python Environment $548.00 (plus fees)


Python 4: Advanced Python $548.00 (plus fees)


$2,192.00 (plus fees)

Enroll in Certificate