Python Advanced Course
(4.73 out of 5) 3 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
Course Dates
Sydney Class Dates
Level 11, 32 Walker Street, North Sydney , NSW 2060
20 - 21 Jan 25 | Mon - Tue | Classroom |
20 - 21 Jan 25 | Mon - Tue | Online Live |
01 - 02 May 25 | Thu - Fri | Classroom |
01 - 02 May 25 | Thu - Fri | Online Live |
07 - 08 Jul 25 | Mon - Tue | Classroom |
07 - 08 Jul 25 | Mon - Tue | Online Live |
22 - 23 Sep 25 | Mon - Tue | Classroom |
22 - 23 Sep 25 | Mon - Tue | Online Live |
18 - 19 Dec 25 | Thu - Fri | Classroom |
18 - 19 Dec 25 | Thu - Fri | Online Live |
Melbourne Class Dates
Level 12, 379 Collins Street, Melbourne , VIC 3000
20 - 21 Jan 25 | Mon - Tue | Classroom |
20 - 21 Jan 25 | Mon - Tue | Online Live |
01 - 02 May 25 | Thu - Fri | Classroom |
01 - 02 May 25 | Thu - Fri | Online Live |
07 - 08 Jul 25 | Mon - Tue | Classroom |
07 - 08 Jul 25 | Mon - Tue | Online Live |
22 - 23 Sep 25 | Mon - Tue | Classroom |
22 - 23 Sep 25 | Mon - Tue | Online Live |
18 - 19 Dec 25 | Thu - Fri | Classroom |
18 - 19 Dec 25 | Thu - Fri | Online Live |
Brisbane Class Dates
Level 6, 371 Queen Street, Brisbane , QLD 4000
20 - 21 Jan 25 | Mon - Tue | Online Live |
01 - 02 May 25 | Thu - Fri | Online Live |
07 - 08 Jul 25 | Mon - Tue | Online Live |
22 - 23 Sep 25 | Mon - Tue | Online Live |
18 - 19 Dec 25 | Thu - Fri | Online Live |
Canberra Class Dates
All courses facilitated in, Online Live format ,
20 - 21 Jan 25 | Mon - Tue | Online Live |
01 - 02 May 25 | Thu - Fri | Online Live |
07 - 08 Jul 25 | Mon - Tue | Online Live |
22 - 23 Sep 25 | Mon - Tue | Online Live |
18 - 19 Dec 25 | Thu - Fri | Online Live |
Adelaide Class Dates
All courses facilitated in, Online Live format ,
20 - 21 Jan 25 | Mon - Tue | Online Live |
01 - 02 May 25 | Thu - Fri | Online Live |
07 - 08 Jul 25 | Mon - Tue | Online Live |
22 - 23 Sep 25 | Mon - Tue | Online Live |
18 - 19 Dec 25 | Thu - Fri | Online Live |
Perth Class Dates
All courses facilitated in, Online Live format ,
20 - 21 Jan 25 | Mon - Tue | Online Live |
01 - 02 May 25 | Thu - Fri | Online Live |
07 - 08 Jul 25 | Mon - Tue | Online Live |
22 - 23 Sep 25 | Mon - Tue | Online Live |
18 - 19 Dec 25 | Thu - Fri | Online Live |
Course Units
⊕ Expand full topic list
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
⊕ See more
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
⊕ See more
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
⊕ See more
Unit 4: Descriptors
- Reviewing Properties
- Unravelling the Property Function
- Implementing a Descriptor
- Retrieving Descriptors on Classes
- Understanding Data Versus Non-Data Descriptors
⊕ See more
Unit 5: Instance Creation
- Understanding Instance Creation
- Customising Allocation
⊕ See more
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
⊕ See more
Unit 7: Class Decorators
- Introducing Class Decorators
- Enforcing Constraints with a Class Decorator
- Enforcing Constraints for Properties
- Chaining Class Decorators
⊕ See more
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
⊕ See more
Related Courses
Course Reviews
Slightly more relaxed pace then beginner or intermedidiate but necessary due to complexity of topics. Would be difficult with more students. I've enjoyed all three elements of the python course
Course material was great, learnt heaps.
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.
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.