Got a question? Call 1800 853 276   |   

Advanced Python Programming

  • Length 4 days
  • Price $3630 inc GST
Course overview
View dates &
book now
  • Register interest

Why study this course

Geared for experienced Python programmers, Advanced Python Programming is a practical, hands‐on Python training course that thoroughly explores intermediate to advanced level topics and skills.

Students are taught how to Leverage OS services, Code graphical interfaces for applications, Create modules, Create and run unit tests, Define classes, Interact with network services, Query databases, Process XML data and much more. This comprehensive, practical course provides an in‐depth exploration of working with advanced python, not an academic overview of syntax and grammar.

This course is approximately 50% hands‐on lab and 50% lecture, combining engaging lecture, demos, group activities and discussions with comprehensive machine‐based practical programming labs and project work. Students will write numerous Python scripts to reinforce the major concepts covered in this course.

This course can be taught for either Python 2.x or Python 3.x. Version‐specific course materials and exercises will be provided.

Request Course Information

By submitting an enquiry, you agree to our privacy policy and receiving email and other forms of communication from us. You can opt-out at any time.

What you’ll learn

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

  • Leverage OS services

  • Code graphical interfaces for applications

  • Create modules

  • Create and run unit tests

  • Define classes

  • Interact with network services

  • Query databases

  • Process XML data

Stay ahead of the technology curve

Don’t let your tech outpace the skills of your people

Quality instructors and content

Expert instructors with real world experience and the latest vendor- approved in-depth course content.

Partner-Preferred Supplier

Chosen and awarded by the world’s leading vendors as preferred training partner.

Ahead of the technology curve

No matter your chosen technologies or platforms, we can help you stay one step ahead.

Who is the course for?

This course is appropriate for experienced Python programmers, focused on Enterprise Development.

We can also deliver and customise this training course for larger groups – saving your organisation time, money and resources. For more information, please contact us on 1800 U LEARN (1800 853 276).

Course subjects

Python Refresher

  • Data types

  • Sequences

  • Mapping types

  • Program structure

  • Files and console I/O

  • Conditionals

  • Loops

  • Builtins

OS Services

  • The os module

  • Environment variables

  • Launching external commands

  • Walking directory trees

  • Paths, directories, and filenames

  • Working with file systems

  • Dates and times

Pythonic Programming

  • The Zen of Python

  • Common idioms

  • Lambda functions

  • List comprehensions

  • Generator expressions

  • String formatting

Modules and Packages

  • Initialisation code

  • Namespaces

  • Executing modules as scripts

  • Documentation

  • Packages and name resolution

  • Naming conventions

  • Using imports


  • Defining classes

  • Instance methods and data

  • Properties

  • Initialisers

  • Class and static methods/data

  • Inheritance


  • Implicit properties

  • globals() and locals()

  • Working with attributes

  • The inspect module

  • Decorators

  • Monkey patching

Programmer Tools

  • Analysing programs

  • Using pylint

  • Testing code

  • Using unittest

  • Debugging

  • Profiling and benchmarking

Distributing Modules

  • Distribution concepts

  • setuptools

  • creating

  • building installers

  • running installers

Database Access

  • The DB API

  • Available Interfaces

  • Connecting to a server

  • Creating and executing a cursor

  • Fetching data

  • Parameterised statements

  • Metadata

  • Transaction control

  • Other DBMS modules

GUI Programming with PyQT4

  • About QT4

  • Getting started with the designer

  • Widget properties

  • Predefined dialogs

  • Generating the UI

  • Wiring up events

  • Advanced Topics

Network Programming

  • 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 module

  • 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

Extending Python

  • About non‐Python modules

  • Overview of a C extension

  • Writing C by hand

  • Loading modules with ctypes


  • Running external commands with subprocess

  • 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 redirection

  • Working with STDIO

  • Exit codes

  • Advanced features


Students should be able to write simple Python scripts, using basic data types, program structures and the standard Python library.

Students should have completed one of the following courses or have the equivalent practical skills:

Terms & Conditions

The supply of this course by DDLS is governed by the booking terms and conditions. Please read the terms and conditions carefully before enrolling in this course, as enrolment in the course is conditional on acceptance of these terms and conditions.

Request Course Information

By submitting an enquiry, you agree to our privacy policy and receiving email and other forms of communication from us. You can opt-out at any time.