55285A: Advanced Python

Length: 2 Day(s)     Cost:$1695 + GST

= Scheduled class     = Guaranteed to run     = Fully booked

Click on the date to book online
Please wait as we are loading the schedules...
LOCATION December January February March
Virtual Class

In this Python training course, students already familiar with Python programming will learn advanced Python techniques.

This advanced Python course is taught using Python 3; however, differences between Python 2 and Python 3 are noted.

This course is for students who have taken the introductory course and are ready to learn more and for students who have some experience programming with Python and are ready to go to the next level. The course was written using Python 3.8, but is relevant for all students using Python 3.

This class requires Basic Python programming experience. In particular, you should be very comfortable with:

  • Working with strings.
  • Working with lists, tuples and dictionaries.
  • Loops and conditionals.
  • Writing your own functions.
  • Experience in the following would be useful for this Python class:
  • Some exposure to HTML, XML, JSON, and SQL.

Expand your skills with Python and become more confortable with advances techniques.

Module 1: Advanced Python Concepts

In this lesson, you will learn about some Python functionality and techniques that are commonly used but require a solid foundation in Python to understand.


  • Lambda Functions
  • Advanced List Comprehensions
  • Collections Module
  • Mapping and Filtering
  • Mutable and Immmutable Built-in Objects
  • Sorting
  • Unpacking Sequences in Function Calls

Lab 1: Exercises in this Lesson

  • Rolling Five Dice
  • Creating a defaultdict
  • Creating a OrderedDict
  • Creating a Counter
  • Working with a deque
  • Converting list.sort() to sorted(iterable)
  • Converting a String to a datetime.date Object

After completing this module, students will be able to:

  • Work with lambda functions
  • Write more advanced list comprehensions
  • Work with the collections module to create named tuples, defaultdicts, ordereddicts, counters, and deques
  • Use mapping and filtering
  • Sort sequences
  • Unpack sequences in function calls
  • Create modules and packages

Module 2: Working with Data

Data is stored in many different places and in many different ways. There are Python modules for all of the most common ways.


  • Relational Databases
  • CSV
  • Getting Data from the Web
  • JSON

Lab 1: Exercises in this Lesson

  • Querying a SQLite Database
  • Inserting File Data into a Database
  • Comparing Data in a CSV File
  • Requests and Beautiful Soup
  • Using JSON to Print Course Data

After completing this module, students will be able to:

  • Access and work with data stored in a relational database
  • Access and work with data stored in a CSV file
  • Get data from a web page
  • Access and work with data stored as HTML and XML
  • Access an API
  • Access and work with data stored as JSON

Module 3: Testing and Debugging

This module explains how to test and debug using Python


  • Testing for Performance
  • The unittest Module

Lab 1: Exercises in this Lesson

  • Fixing Functions

After completing this module, students will be able to:

  • Test performance with timers and using the timeit module
  • To write unit tests using the unittest module

Module 4: Classes and Objects

An object is something that has attributes and/or behaviors, meaning it is certain ways and does certain things. In the real world, everything could be considered an object. Some objects are tangible, like rocks, trees, tennis racquets, and tennis players. And some objects are intangible, like words, colors, tennis swings, and tennis matches.


  • Attributes
  • Behaviors
  • Classes vs. Objects
  • Attributes and Methods
  • Private Attributes
  • Properties
  • Documenting Classes
  • Inheritance
  • Static Methods
  • Class Attributes and Methods
  • Abstract Classes and Methods
  • Understanding Decorators

Lab 1: Exercises in this Lesson

  • Adding a roll() Method to Die
  • Properties
  • Documenting the Die Class
  • Extending to Die Class
  • Extending the roll() Method

After completing this module, students will be able to:

  • Create classes and objects in Python
  • Write instance methods, class methods, and static methods
  • Define properties
  • Create subclasses using inheritance
  • Create abstract classes
  • Appropriately document Python classes
  • Understand how decorators work