Full star Half star Star PDF
The Ultimate Training Experience.

Python Advanced Course

(5.00 out of 5) 2 Student Reviews

About the Course

This 2-day advanced Python course will provide the students with skills and techniques for flow control, including emulating the switch statement. You will also learn the methods of working with bytes and the internals of objects. In addition, this course revisits and thoroughly explores descriptors, metaclasses, class decorators, and abstract base classes, among others, giving you a comprehensive understanding of the Python language.

Who should do this course?

This course is ideal for those who would like to learn more advanced skills on various techniques, shortcuts, and tips for writing more professional python code. It will lead you on from being a competent programmer to becoming a master.

Prerequisites

This course assumes you have completed our beginner and intermediate Python courses or equivalent experience and a solid understanding of all of the programming and object-oriented principles in Python. This includes lambda expressions, decorators and closures, and iterations, mapping, filtering, and the reduce function. You will also need to be familiar with implementing collection protocols, custom context managers, and introspection

Course Details

$1540 incl GST

  • Duration:2 Days
  • Max. Class Size:10
  • Avg. Class Size:5
  • Study Mode:
    Classroom Online Live
  • Level:Advanced
  • Course Times: Classroom: 9.00am to 5.00pm approx(Local Time) Online Live: 9.00am to 5.00pm approx(AEST or AEDT)
  • Download Course PDF
Pay Later

Course Dates

Sydney Class Dates

Level 11, 32 Walker Street, North Sydney , NSW 2060

13 - 14 May 24 Mon - Tue Classroom
13 - 14 May 24 Mon - Tue Online Live
08 - 09 Aug 24 Thu - Fri Classroom
08 - 09 Aug 24 Thu - Fri Online Live
28 - 29 Oct 24 Mon - Tue Classroom
28 - 29 Oct 24 Mon - Tue Online Live
23 - 24 Jan 25 Thu - Fri Classroom
23 - 24 Jan 25 Thu - Fri Online Live
14 - 15 Apr 25 Mon - Tue Classroom
14 - 15 Apr 25 Mon - Tue Online Live
Melbourne Class Dates

Level 12, 379 Collins Street, Melbourne , VIC 3000

13 - 14 May 24 Mon - Tue Classroom
13 - 14 May 24 Mon - Tue Online Live
08 - 09 Aug 24 Thu - Fri Classroom
08 - 09 Aug 24 Thu - Fri Online Live
28 - 29 Oct 24 Mon - Tue Classroom
28 - 29 Oct 24 Mon - Tue Online Live
23 - 24 Jan 25 Thu - Fri Classroom
23 - 24 Jan 25 Thu - Fri Online Live
14 - 15 Apr 25 Mon - Tue Classroom
14 - 15 Apr 25 Mon - Tue Online Live
Brisbane Class Dates

Level 6, 371 Queen Street, Brisbane , QLD 4000

13 - 14 May 24 Mon - Tue Online Live
08 - 09 Aug 24 Thu - Fri Online Live
28 - 29 Oct 24 Mon - Tue Online Live
23 - 24 Jan 25 Thu - Fri Online Live
14 - 15 Apr 25 Mon - Tue Online Live
Canberra Class Dates

All courses facilitated in, Online Live format ,

13 - 14 May 24 Mon - Tue Online Live
08 - 09 Aug 24 Thu - Fri Online Live
28 - 29 Oct 24 Mon - Tue Online Live
23 - 24 Jan 25 Thu - Fri Online Live
14 - 15 Apr 25 Mon - Tue Online Live
Adelaide Class Dates

All courses facilitated in, Online Live format ,

13 - 14 May 24 Mon - Tue Online Live
08 - 09 Aug 24 Thu - Fri Online Live
28 - 29 Oct 24 Mon - Tue Online Live
23 - 24 Jan 25 Thu - Fri Online Live
14 - 15 Apr 25 Mon - Tue Online Live
Perth Class Dates

All courses facilitated in, Online Live format ,

13 - 14 May 24 Mon - Tue Online Live
08 - 09 Aug 24 Thu - Fri Online Live
28 - 29 Oct 24 Mon - Tue Online Live
23 - 24 Jan 25 Thu - Fri Online Live
14 - 15 Apr 25 Mon - Tue Online Live

Course Units

Unit 1: Advanced Flow Control

  • Using else Clauses on Loops
  • Investigating an Alternative to Loop else Clauses
  • Using the try..except..else Construct
  • Emulating Switch
  • Dispatching on Type

Unit 2: Byte Oriented Programming

  • Understanding Bitwise Operators
  • Investigating the Bytes Type in Depth
  • Using the Mutable Bytearray Sequence
  • Interpreting Byte Streams with the Struct Module
  • Using Memory Views
  • Using Memory-Mapped Files

Unit 3: Object Internals and Custom Attributes

  • Understanding how Python Objects are Stored?
  • Using vars() to Access dict
  • Overriding getattribute()
  • Using Special Methods which Bypass getattribute ()
  • Locating the Methods
  • Reducing Memory Usage Using Slots

Unit 4: Descriptors

  • Reviewing Properties
  • Unravelling the Property Function
  • Implementing a Descriptor
  • Retrieving Descriptors on Classes
  • Understanding Data Versus Non-Data Descriptors

Unit 5: Instance Creation

  • Understanding Instance Creation
  • Customising Allocation

Unit 6: Metaclasses

  • Understanding the Object Class
  • Understanding how a Class is Allocated and Initialised
  • Passing Additional Arguments to the Metaclass
  • Investigating Metaclass Methods and Visibility
  • Utilising Fine-Grained Instantiation Control with Metaclass Call()
  • Examining Practical Metaclass Examples
  • Understanding Inheritance in Metaclasses

Unit 7: Class Decorators

  • Introducing Class Decorators
  • Enforcing Constraints with a Class Decorator
  • Enforcing Constraints for Properties
  • Chaining Class Decorators

Unit 8: Abstract Base Classes

  • Understanding Abstract Base-Classes
  • Discussing Why Abstract Base-Classes are Useful?
  • Understanding Duck Typing
  • Understanding Abstract Base-Classes in Python
  • Defining Subclasses with subclasscheck()
  • Understanding Non-Transitivity of Subclass Relationships
  • Resolving Method Calls in Virtual Base-Classes
  • Investigating Library Support for Abstract Base-Classes
  • Combining Abstractmethod with other Decorators
  • Propagating Abstractness Through Descriptors
  • Fixing our @invariant Class Decorator with ABCs

Related Courses

Course Reviews

(5.00 out of 5) [ 18 May, 2023 ]

Course material was great, learnt heaps.

(5.00 out of 5) [ 20 March, 2023 ]

The re-written examples were very useful, however the fact they were being re-written during the class did make for some waiting around due to debugging etc. The course was very flexible for student requirements, and Matthew kept up the energy and engagement.

Read all course reviews

Enquire Now

Fill in your details to have a training consultant contact you to discuss your training needs.

Note: Form fields marked with * are required.

Your details
Please enter a valid email address for shipping updates.
I am enquiring about a...
REQUEST A CALLBACK
A team member will call you at a time convenient to you.
Your message was sent, thank you!
Contact us

Level 11, 32 Walker Street, North Sydney NSW, 2060