1300 888 724 8.30am to 5:30pm AEST (Mon-Fri) info@dynamicwebtraining.com.au

Python Advanced Course

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
  • Times: 9.00am to 5.00pm approx
  • Download Course PDF
  • Enquire Book Now
    Pay later

Course Dates

  • Sydney Class Dates

    Book Now

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

    18 - 19 Nov 21 Thu - Fri Online Live
    17 - 18 Jan 22 Mon - Tue Classroom
    17 - 18 Jan 22 Mon - Tue Online Live
    17 - 18 Mar 22 Thu - Fri Classroom
    17 - 18 Mar 22 Thu - Fri Online Live
    12 - 13 May 22 Thu - Fri Classroom
    12 - 13 May 22 Thu - Fri Online Live
    04 - 05 Jul 22 Mon - Tue Classroom
    04 - 05 Jul 22 Mon - Tue Online Live
    01 - 02 Sep 22 Thu - Fri Classroom
    01 - 02 Sep 22 Thu - Fri Online Live
  • Melbourne Class Dates

    Book Now

    Level 12, 379 Collins Street, Melbourne , VIC 3000

    18 - 19 Nov 21 Thu - Fri Online Live
    18 - 19 Nov 21 Thu - Fri Classroom
    17 - 18 Jan 22 Mon - Tue Classroom
    17 - 18 Jan 22 Mon - Tue Online Live
    17 - 18 Mar 22 Thu - Fri Classroom
    17 - 18 Mar 22 Thu - Fri Online Live
    12 - 13 May 22 Thu - Fri Classroom
    12 - 13 May 22 Thu - Fri Online Live
    04 - 05 Jul 22 Mon - Tue Classroom
    04 - 05 Jul 22 Mon - Tue Online Live
    01 - 02 Sep 22 Thu - Fri Classroom
    01 - 02 Sep 22 Thu - Fri Online Live
  • Brisbane Class Dates

    Book Now

    Level 6, 371 Queen Street, Brisbane , QLD 4000

    18 - 19 Nov 21 Thu - Fri Online Live
    17 - 18 Jan 22 Mon - Tue Online Live
    17 - 18 Mar 22 Thu - Fri Online Live
    12 - 13 May 22 Thu - Fri Online Live
    04 - 05 Jul 22 Mon - Tue Online Live
    01 - 02 Sep 22 Thu - Fri Online Live
  • Canberra Class Dates

    Book Now

    Level 4, 54 Marcus Clarke Street, Canberra , ACT 2601

    18 - 19 Nov 21 Thu - Fri Online Live
    17 - 18 Jan 22 Mon - Tue Online Live
    17 - 18 Mar 22 Thu - Fri Online Live
    12 - 13 May 22 Thu - Fri Online Live
    04 - 05 Jul 22 Mon - Tue Online Live
    01 - 02 Sep 22 Thu - Fri Online Live
  • Adelaide Class Dates

    Book Now

    19 Young Street, Adelaide , SA 5000

    18 - 19 Nov 21 Thu - Fri Online Live
    17 - 18 Jan 22 Mon - Tue Online Live
    17 - 18 Mar 22 Thu - Fri Online Live
    12 - 13 May 22 Thu - Fri Online Live
    04 - 05 Jul 22 Mon - Tue Online Live
    01 - 02 Sep 22 Thu - Fri Online Live
  • Perth Class Dates

    Book Now

    Level 1, 140 St Georges Terrace, Perth , WA 6000

    18 - 19 Nov 21 Thu - Fri Online Live
    17 - 18 Jan 22 Mon - Tue Online Live
    17 - 18 Mar 22 Thu - Fri Online Live
    12 - 13 May 22 Thu - Fri Online Live
    04 - 05 Jul 22 Mon - Tue Online Live
    01 - 02 Sep 22 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

Enquire Now

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

Your details

Other Ways To Get In Touch

You can also Book Online or call us on 1300 888 724

Back to Top