[go: up one dir, main page]

0% found this document useful (0 votes)
2K views3 pages

Advanced Python Course Guide

The document outlines the syllabus for an Advanced Python course. The course covers topics like classes and objects, I/O handling, data handling, the Python object model, testing and debugging, packages and distribution, iterators and generators, functional programming, metaprogramming, extension programming, concurrency with threads, multiprocessing, and Python 3. The course provides in-depth coverage of advanced Python concepts, tools, and techniques.

Uploaded by

Johnny
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2K views3 pages

Advanced Python Course Guide

The document outlines the syllabus for an Advanced Python course. The course covers topics like classes and objects, I/O handling, data handling, the Python object model, testing and debugging, packages and distribution, iterators and generators, functional programming, metaprogramming, extension programming, concurrency with threads, multiprocessing, and Python 3. The course provides in-depth coverage of advanced Python concepts, tools, and techniques.

Uploaded by

Johnny
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 3

Advanced Python

Syllabus

 Python Review
o A brief review of Python basics including syntax, core datatypes, file
I/O, functions, error handling, and classes.

 Classes and Objects


o An introduction to creating and using user-defined objects in Python.
o Describes how to use the class statement to create new objects and
presents details on various special methods that can be defined to
customize object behavior.
o Commonly used object oriented programming techniques are also
presented.

 Advanced I/O Handling


o An in-depth examination of the Python I/O system including text
handling, binary data handling, and different I/O models such as
blocking, non-blocking, and event-driven I/O.

 Idiomatic Data Handling


o An introduction to various tools and techniques for effective data
processing.
o Discusses different options for creating data structures and gives an
inside look at how the built-in datatypes are put together along with
their performance and memory usage properties.
o Students will learn how to apply list, set, and dictionary
comprehensions to various problems in data handling.

 Inside the Python Object Model


o A detailed tour of how the Python object system is implemented.
o Topics include the definition of objects, object representation,
attribute binding, inheritance, descriptors, properties, slots, private
attributes, static methods, and class methods.

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.

 Testing, Debugging and Logging


o Coverage of how to test and debug Python programs with a focus on
three major topics.
o First, testing Python programs with the doctest and unittest modules
is described.
o Next, the Python Debugger and profiler are presented.
o Finally, the logging package is described.

 Packages and Distribution


o How to organize Python code into packages and how to distribute
packages to users and programmers.
o Covers the underlying mechanics of how packages are put together
and the distutils module for creating distributions.
o Also covers more advanced packaging options such as Distribute and
setuptools.

 Iterators, Generators, Coroutines


o The section starts with a description of the iteration protocol and
moves on to practical use of generators and coroutines.
o A major focus on this section is on the use of generators and
coroutines to set up processing pipelines, much like pipes in Unix
programming.
o You will see how generators and coroutines can lead to very elegant
programming abstractions for processing data and how such
programs can be used to process huge datafiles and streaming I/O.

 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.

 Concurrent Programming with Threads


o An introduction to programming with Python threads.
o Starts with the basics of using the threading library and dives into a
variety of more advanced topics including a survey of how and when
to use the different thread synchronization primitives, queues,
deadlock avoidance, and thread debugging.
o Also includes detailed information on how the Python interpreter
executes programs and properties of the global interpreter lock (GIL).

 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

You might also like