Advance Python Programming
Advance Python Programming
Advance Python Programming
Syllabus
Python Review
o A brief review of Python basics including syntax, core datatypes, file
I/O, functions, error handling, and classes.
200 Arizona Ave NE, Suite 200 • Atlanta, GA 30307 • (770) 817-6373 • bignerdranch.com 1
o Cover important details concerning Python memory management and
garbage collection.
Functional Programming
o Advanced details of how to program with functions in Python.
o Discusses more advanced features of functions including variadic
parameters, nested functions, closures, lazy evaluation,
anonymousfunctions (lambda), and function attributes.
Metaprogramming
o Loosely defined, metaprogramming refers to programs that are able
to manipulate their own program structure (functions, classes, etc.) or
the structure of other programs as data.
o This section introduces and covers practical examples of Python's
metaprogramming features including function decorators, class
decorators, metaclasses, and context managers.
200 Arizona Ave NE, Suite 200 • Atlanta, GA 30307 • (770) 817-6373 • bignerdranch.com 2
o A major emphasis of this section is to understand how advanced
programming frameworks utilize these features to provide a richer
programming environment for their end users.
Extension Programming
o How to create C and C++ extensions to Python. Covers the absolute
basics of the Python C API followed by some details on using the
ctypes library and Swig code generator.
o A major focus of this section is on how to organize extension code so
that it can more seamlessly integrate with the Python environment.
o Topics include memory management, data handling, encapsulation,
and common pitfalls.
Multiprocessing
o An introduction to the multiprocessing library that allows programs to
distribute their work across independent processes or machines.
o Covers processes, queues, pipes, connections and process pools.
Python 3
o A look at new features added to Python 3 and migration strategies.
o Topics include new data processing features such a set and dictionary
comprehensions, function annotations, and metaclasses.
o In addition, details of the 2to3 conversion tool are presented.
200 Arizona Ave NE, Suite 200 • Atlanta, GA 30307 • (770) 817-6373 • bignerdranch.com 3