logo

Python Course

course overview

Click to View dates & book now

Overview

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, teaching students 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 scripting, not an academic overview of syntax and grammar. Students will immediately be able to use advanced Python skills to complete tasks in the real world.

Audience

This course is appropriate for experienced Python programmers. Students should be able to write simple Python scripts, using basic data types, program structures and the standard Python library.

4 days

Skills Gained

This course provides indoctrination in the practical use of the umbrella of technologies that are on the leading edge of web development. Throughout the course students will be led through a series of progressively advanced topics, where each topic consists of lecture, group discussion, comprehensive hands-on lab exercises, and lab review. This course is “skills-centric”, designed to train attendees in essential, advanced Python and web development skills, coupling the most current, effective techniques with the soundest scripting and development practices. Working within in an engaging, hands-on learning environment, guided by our expert team, attendees will learn 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

Outline

Outline of Advanced Python Programming Training Session 1: Python Refresher

  • Data types
  • Sequences
  • Mapping types
  • Program structure
  • Files and console I/O
  • Conditionals
  • Loops
  • Builtins

Session 2: OS Services

  • The os module
  • Environment variables
  • Launching external commands
  • Walking directory trees
  • Paths, directories, and filenames
  • Working with file systems
  • Dates and times

Session 3: Pythonic Programming

  • The Zen of Python
  • Common idioms
  • Lambda functions
  • List comprehensions
  • Generator expressions
  • String formatting

Session 4: Modules and packages

  • Initialization code
  • Namespaces
  • Executing modules as scripts
  • Documentation
  • Packages and name resolution
  • Naming conventions
  • Using imports

Session 5: Classes

  • Defining classes
  • Instance methods and data
  • Properties
  • Initializers
  • Class and static methods/data
  • Inheritance

Session 6 : Metaprogramming

  • Implicit properties
  • globals() and locals()
  • Working with attributes
  • The inspect module
  • Monkey patching

Session 7: Programmer tools

  • Analyzing programs
  • Using pylint
  • Testing code
  • Using unittest
  • Debugging
  • Profiling and benchmarking

Session 8: Distributing modules

  • Distribution concepts
  • setuptools
  • creating setup.py
  • building installers
  • running installers

Session 9: Database access

  • The DB API
  • Available Interfaces
  • Connecting to a server
  • Creating and executing a cursor
  • Fetching data
  • Parameterized statements
  • Metadata
  • Transaction control
  • Other DBMS modules

Session 10: GUI Programming with PyQT4

  • About QT4
  • Getting started with the designer
  • Widget properties
  • Predefined dialogs
  • Generating the UI
  • Wiring up events
  • Advanced Topics

Session 11: Network Programming

  • Sockets
  • Clients
  • Servers
  • Application protocols
  • Forking servers
  • Binary data
  • The struct module

Session 12: Threads

  • 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

Session 13: XML and JSON

  • 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

Session 14: Extending Python

  • About non-Python modules
  • Overview of a C extension
  • Writing C by hand
  • Loading modules with ctypes

Session 15: Subprocesses

  • 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

Talk to an expert

Thinking about Onsite?

If you need training for 3 or more people, you should ask us about onsite training. Putting aside the obvious location benefit, content can be customised to better meet your business objectives and more can be covered than in a public classroom. Its a cost effective option. One on one training can be delivered too, at reasonable rates.

Submit an enquiry from any page on this site, and let us know you are interested in the requirements box, or simply mention it when we contact you.

All $ prices are in USD unless it’s a NZ or AU date

SPVC = Self Paced Virtual Class

LVC = Live Virtual Class

Please Note: All courses are availaible as Live Virtual Classes

Trusted by over 1/2 million students in 15 countries

Our clients have included prestigious national organisations such as Oxford University Press, multi-national private corporations such as JP Morgan and HSBC, as well as public sector institutions such as the Department of Defence and the Department of Health.