Advanced Python Programming

Advanced Python Programming


This course has been designed to address the more advanced techniques required by Python programmers.


You should have approximately 6 months Python experience.


4 days. Hands on.

Course Objectives

This course aims to extend and solidify your Python experience by exploring structural techniques and common Python APIs. You'll learn how to write OO and functional code, define and consume REST services and web sockets, implement multi-threaded code, use popular Python data science libraries, implement Big Data solutions, and more.

What you'll learn:

  • Object-oriented Python programming
  • Functional Python programming
  • REST services and web sockets
  • Defining and using decorators
  • Asynchronous programming
  • Python data science techniques
  • Python Big Data and PySpark

Course Content

Recap Essential Python Features
Language Fundamentals
Data Structures
Defining and Using Packages
Additional Techniques

Object-Oriented Programming
Essential Concepts
Defining and Using a Class
Class-Wide Members

Additional Object-Oriented Techniques
A Closer Look at Attributes
Implementing Special Methods

XML Processing
XML Essentials
Reading XML Data in Python
Locating Content using XPath
Updating XML Data in Python
Using the Lxml Library

Functional Programming
Functional Programming in Python
Higher Order Functions
Additional Techniques

Web Processing
Python Web Servers
Python Rest Services
Python Web Sockets

Getting Started with Decorators
Additional Decorator Techniques
Parameterized Decorators

Asynchronous Processing in Python
Getting Started with Asynchrony in Python
Creating Tasks to Run in Different Threads
Additional Task Techniques

Getting Started with Python Data Science and NumPy
Introduction to Python Data Science
NumPy Arrays
Manipulating Array Elements
Manipulating Array Shape

NumPy Techniques
NumPy Universal Functions
Manipulating Arrays using Boolean Logic
Additional Techniques

Getting Started with Pandas
Introduction to Pandas
Creating a Series
Using a Series
Creating a DataFrame
Using a DataFrame

Pandas Techniques
Universal Functions
Merging and Joining Datasets
A Closer Look at Joins

Working with Time Series Data
Introduction to Time Series Data
Indexing and Plotting Time Series Data
Testing Data for Stationarity
Making Data Stationary
Forecasting Time Series Data
Scaling Back the ARIMA Results

Introduction to Big Data
Setting the Scene
Introduction to Hadoop
Hadoop Components

Getting Started with PySpark
Introduction to Spark
Spark Architecture
Application Execution
Using the Python Spark Shell

Using the PySpark API
Essential Concepts
Creating an RDD
Working with RDDs

RDD Operations
RDD Transformations
RDD Transformations on Key-Value Pairs
Spark Jobs - The Big Picture

Virtual Courses

ALL of our courses can be delivered virtually. And our Bath public schedule of courses are now available as live virtual sessions, using the popular Zoom Virtual Classroom and remote labs. Delegates can test their access at:

On-Site Courses

Can't attend one of our public classes? Booking for multiple people?

All our courses are available on your site! Delivered for your staff, at your premises.

Contact us to find out more...