Course 55285A: Advanced Python


Contact Us

We would love to hear from you. Please complete this form to pre-book or request further information about our delivery options.


I'd like to receive emails with the latest updates and promotions from Insoft.

Data Protection & Privacy

I hereby allow Insoft Ltd. to contact me on this topic. Further, I authorise Insoft Ltd. processing, using collecting and storing my personal data for the purpose of these activities. All your data will be protected and secured as outlined in our privacy policy.

Upcoming Dates

Sep 19 - Sep 20, 2022
09:00 - 17:00

Oct 17 - Oct 18, 2022
09:00 - 17:00

Nov 14 - Nov 15, 2022
09:00 - 17:00

Dec 12 - Dec 13, 2022
09:00 - 17:00

Jan 9 - Jan 10, 2023
09:00 - 17:00

Feb 6 - Feb 7, 2023
09:00 - 17:00

  • Course 55285A: Advanced Python
    2 days  (Instructor Led Online)  |  Programming

    Course Details

    In this Advanced Python (55285A) 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. For private Python classes, our instructor can focus specifically on Python 2 if desired.


    See other Microsoft courses


    After completing this course, students will be able to:

    • Work with the Collections module.
    • Understand mapping and filtering and lambda functions.
    • Perform advanced sorting.
    • Work with regular expressions in Python.
    • Work with databases, CSV files, JSON, and XML.
    • Write object-oriented code in Python.
    • Test and debug your Python code


    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 Immutable Built-in Objects
    • Sorting
    • Unpacking Sequences in Function Calls

    Lab: Exercises in this Lesson

    • Rolling Five Dice
    • Creating a defaultdict
    • Creating an OrderedDict
    • Creating a Counter
    • Working with a deque
    • Converting list.sort() to sorted(iterable)
    • Converting a String to a 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, deque
    • 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: Exercises in this Lesson

    • Querying an 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: Exercises in this Lesson

    • Fixing Functions

    After completing this module, students will be able to:

    • Test performance with timers and using the time it module.
    • To write unit tests using the unittest module.


    Module 4: Classes and Objects

    An object is something that has attributes and/or behaviours, 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, colours, tennis swings, and tennis matches.


    • Attributes
    • Behaviours
    • 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: 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.


    Experience in the following is required for this Python class:

    • Basic Python programming experience. In particular, you should be very comfortable with:
      1. Working with strings.
      2. Working with lists, tuples and dictionaries.
      3. Loops and conditionals.
      4. Writing your own functions.

    Experience in the following would be useful for this Python class:

    • Some exposure to HTML, XML, JSON, and SQL.