Advanced Python Programming

Explore advanced level concepts of Python programming

Course Code : 1178
Advanced Python Programming 0 5 0



This comprehensive advanced-level course on Python programming involves hands-on lab exercises, engaging lectures, demos and activities to ensure participants get a thorough understanding of the concepts being discussed. The course leads participants through a series of progressively advanced topics such as OS services, modules, unit tests, databases, XML data, packages, meta programming, network programming, threads, etc. The course is a skill-centric course, focusing on helping participants master advanced Python and web development skills, the latest techniques and coding practices. The course does not cover Python fundamentals.

Schedule Classes

Looking for more sessions of this class?

Course Delivery

This course is available in the following formats:

Live Classroom
Duration: 5 days

Live Virtual Classroom
Duration: 5 days

What You'll learn

  • Leverage OS services
  • Code graphical interfaces for applications
  • Build modules
  • Create and run unit tests
  • Define classes
  • Working with network services
  • Query databases
  • Handle XML data


  • Data types
  • Sequences
  • Mapping types
  • Program structure
  • File and console I/O
  • Conditionals
  • Loops
  • Built-ins
  • The OS module
  • Environment variables
  • Launching external commands
  • Walking directory trees
  • Paths, directories and file names
  • Working with file systems
  • Dates and times
  • The Zen of Python
  • Common idioms
  • Lambda functions
  • List comprehensions
  • Generator expressions
  • String formatting
  • Initialization code
  • Namespaces
  • Executing modules as scripts
  • Documentation
  • Packages and name resolution
  • Naming conventions
  • Using imports
  • Define classes
  • Instance methods and data
  • Properties
  • Initializers
  • Class and static methods/data
  • Inheritance
  • Implicit properties
  • Globals() and locals()
  • Working with attributes
  • The inspect module
  • Decorators
  • Monkey patching
  • Analyzing programs
  • Using pylint
  • Testing code
  • Using unittest
  • Debugging
  • Profiling and benchmarking
  • Distribution concepts
  • Setup tools
  • Creating
  • Building installers
  • Running installers
  • The DB API
  • Available interfaces
  • Connecting to a server
  • Creating and executing a cursor
  • Fetching data
  • Parameterized statements
  • Metadata
  • Transaction control
  • Other DBMS modules
  • About QT4
  • Getting started with the designer
  • Widget properties
  • Predefined dialogs
  • Generating the UI
  • Wiring up events
  • Advanced topics
  • Sockets
  • Clients
  • Servers
  • Application protocols
  • Forking servers
  • Binary data
  • The struct module
  • When to use threads?
  • The Global Interpreter Lock
  • The threading module
  • Simple threading
  • Sharing variables
  • Threaded servers
  • The queue model
  • Debugging threaded programs
  • Alternatives to threading
  • Working with XML
  • DOM and Sax
  • Introducing ElementTree and lxml
  • Parsing XML
  • Navigating the document
  • Creating a new XML document
  • JSON
  • Parsing JSON into Python
  • Converting Python into JSON
  • About non-Python modules
  • Overview of a C extension
  • Writing C by hand
  • Loading modules with C-types
  • Running external commands with sub-processes
  • Getting command status
  • Managing STDOUT, STDERR and STDIN
  • The sh module (non-Windows systems only)
  • Creating a simple command
  • Keyword arguments
  • Running commands in the background
  • Piping and re-direction
  • Working with STDIO
  • Exit codes
  • Advanced features
View More


Participants need to have basic incoming practical experience working with Python, along with a working user-level knowledge of Unix/Linux, Mac or Windows. Participants also need to be trained or have equivalent practical skills in “Introduction to Basic Python Programming”, “Essential Python Programming” and “Mastering Python Programming”.

Who Should Attend

This is an intermediate to advanced level course and is highly recommended for –

  • Software developers
  • Back-end developers
  • Software engineers
  • Programmers
  • System administrators

Interested in this course? Let’s connect!

Customer Reviews

Review Title
Review Content

No reviews yet