Full star Half star Star PDF
The Ultimate Training Experience.

Python Intermediate Course

(4.76 out of 5) 7 Student Reviews

About the Course

This 3-day Python intermediate course extends the skills you have learned at the Beginner level. Highlights of this course include learning how to structure your code with packages; succinctly define functionality using lambda expressions; and quickly extend or modify existing functions by using decorators and closures. Students will also learn how to improve code by using properties instead of attributes and understanding the difference between static and class methods and how to override them. We will also go deeper into formatting strings and using different number types, such as complex numbers.

Who should do this course?

This course is ideal for those who know the basic principles of Python but would like to delve deeper. It is perfect for people who have just finished the Python beginner course or those who have been fixing or extending other peoples’ code and now want to write their own. This includes people who may have dabbled in Python but would like to take their Python skills to the next level.

This course will help you understand not just how to do things but why we do them that way. In short, this course will enable you to develop the skill required to be a professional well-rounded Python programmer.

Prerequisites

The course assumes you have completed the beginners' course or have equivalent knowledge of Python Programming. Students must know the fundamental object-oriented concepts and use Python to develop both modules and scripts. You will need to understand and be able to use the different datatypes in Python, create classes and functions, and work with collections, comprehensions, and generators. This course also assumes you are familiar with handling exceptions and testing and debugging your code.

Course Details

$1980 incl GST

  • Duration:3 Days
  • Max. Class Size:10
  • Avg. Class Size:5
  • Study Mode:
    Classroom Online Live
  • Level:Intermediate
  • 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

04 - 06 Dec 24 Wed - Fri Online Live
09 - 11 Dec 24 Mon - Wed Classroom
29 - 31 Jan 25 Wed - Fri Classroom
29 - 31 Jan 25 Wed - Fri Online Live
12 - 14 Mar 25 Wed - Fri Classroom
12 - 14 Mar 25 Wed - Fri Online Live
22 - 24 Apr 25 Tue - Thu Classroom
22 - 24 Apr 25 Tue - Thu Online Live
04 - 06 Jun 25 Wed - Fri Classroom
04 - 06 Jun 25 Wed - Fri Online Live
Melbourne Class Dates

Level 12, 379 Collins Street, Melbourne , VIC 3000

04 - 06 Dec 24 Wed - Fri Classroom
04 - 06 Dec 24 Wed - Fri Online Live
29 - 31 Jan 25 Wed - Fri Classroom
29 - 31 Jan 25 Wed - Fri Online Live
12 - 14 Mar 25 Wed - Fri Classroom
12 - 14 Mar 25 Wed - Fri Online Live
22 - 24 Apr 25 Tue - Thu Classroom
22 - 24 Apr 25 Tue - Thu Online Live
04 - 06 Jun 25 Wed - Fri Classroom
04 - 06 Jun 25 Wed - Fri Online Live
Brisbane Class Dates

Level 6, 371 Queen Street, Brisbane , QLD 4000

04 - 06 Dec 24 Wed - Fri Online Live
29 - 31 Jan 25 Wed - Fri Online Live
12 - 14 Mar 25 Wed - Fri Online Live
22 - 24 Apr 25 Tue - Thu Online Live
04 - 06 Jun 25 Wed - Fri Online Live
Canberra Class Dates

All courses facilitated in, Online Live format ,

04 - 06 Dec 24 Wed - Fri Online Live
29 - 31 Jan 25 Wed - Fri Online Live
12 - 14 Mar 25 Wed - Fri Online Live
22 - 24 Apr 25 Tue - Thu Online Live
04 - 06 Jun 25 Wed - Fri Online Live
Adelaide Class Dates

All courses facilitated in, Online Live format ,

04 - 06 Dec 24 Wed - Fri Online Live
29 - 31 Jan 25 Wed - Fri Online Live
12 - 14 Mar 25 Wed - Fri Online Live
22 - 24 Apr 25 Tue - Thu Online Live
04 - 06 Jun 25 Wed - Fri Online Live
Perth Class Dates

All courses facilitated in, Online Live format ,

04 - 06 Dec 24 Wed - Fri Online Live
29 - 31 Jan 25 Wed - Fri Online Live
12 - 14 Mar 25 Wed - Fri Online Live
22 - 24 Apr 25 Tue - Thu Online Live
04 - 06 Jun 25 Wed - Fri Online Live

Course Units

Unit 1: Organizing Larger Programs

  • Introducing Packages
  • Implementing Packages
  • Using Relative Imports
  • Using __all__
  • Understanding Namespace Packages
  • Defining Executable Directories
  • Defining Executable Packages
  • Investigating Recommended Layouts
  • Understanding Modules as Singletons

Unit 2: Beyond Basic Functions

  • Reviewing Functions
  • Understanding Functions as Callable Objects
  • Understanding Callable Instances and Using the __call__() Method
  • Understanding Classes are Callable
  • Leveraging Callable Classes
  • Using Lambdas
  • Detecting Callable Objects
  • Extending Formal Parameter Syntax
  • Extending Call Syntax
  • Transposing Tables

Unit 3: Closures and Decorators

  • Understanding Local Functions
  • Understanding Closures and Nested Scopes
  • Using Function Decorators
  • Validating Arguments

Unit 4: Properties and Class Methods

  • Using Class Attributes
  • Using Static Methods
  • Using Class Methods
  • Developing Named Constructors
  • Overriding Static- and Class-Methods
  • Understanding Properties
  • Overriding Properties
  • Understanding the Template Method Pattern

Unit 5: Strings and Representations

  • Understanding the Two String Representations
  • Using repr()
  • Using str()
  • Understanding When to use Representation
  • Using Format()
  • Leveraging Reprlib for Large Strings
  • Using the ascii(), ord() and chr() Built-in Functions

Unit 6: Numeric and Scalar Types

  • Using Python’s Basic Numeric Types
  • Understanding the Limits of Floats
  • Using the Decimal Module
  • Using the Fractions Module
  • Using Complex Numbers
  • Using Built-in Functions Relating to Numbers
  • Using Dates and Times with the Datetime Module

Unit 7: Iterables and Iteration

  • Reviewing Comprehensions
  • Understanding Multi-Input Comprehensions
  • Understanding Functional-Style Tools
  • Using map()
  • Using filter()
  • Using functools.reduce()
  • Combining Functional Concepts: Map-Reduce
  • Investigating the Iteration Protocols

Unit 8: Inheritance and Subtype Polymorphism

  • Reviewing Single Inheritance
  • Using Type Inspection
  • Understanding Multiple Inheritance
  • Investigating Method Resolution Order
  • Using Super()
  • Understanding Object
  • Using Inheritance for Implementation Sharing

Unit 9: Implementing Collections with Protocols

  • Understanding Collection Protocols
  • Using Test First
  • Using the Initializer
  • Investigating the Container Protocol
  • Investigating the Sized Protocol
  • Investigating the Iterable Protocol
  • Investigating the Sequence Protocol
  • Investigating the Set Protocol

Unit 10: Errors and Exceptions in Depth

  • Understanding Exception Dangers
  • Using Exceptions Hierarchies
  • Utilising Exception Payloads
  • Creating User-Defined Exceptions
  • Using Exception Chaining
  • Using Tracebacks
  • Using Assertions
  • Using Assertions to Enforce Preconditions
  • Using Assertions to Enforce Postconditions

Unit 11: Defining Context Managers

  • Understanding the Context Manager
  • Implementing a Context Manager
  • Using contextlib.contextmanager
  • Handling Multiple Context-Managers in a With-Statement
  • Using Context Managers for Transactions

Unit 12 - Introspection

  • Introspecting Types
  • Introspecting Objects
  • Introspecting Scopes
  • Using the Inspect Module
  • Building an Object Introspection Tool

Related Courses

Course Reviews

(4.80 out of 5) [ 01 May, 2024 ]

plenty of content, good pace. Certainly no time wasted.

(4.00 out of 5) [ 03 July, 2023 ]

Matt was a great instructor and has explained the chapters really good.

(5.00 out of 5) [ 03 July, 2023 ]

Course was very thorough, and had great examples. Matt was very happy to answer question at times even demonstrated the answer with on the fly examples.

(4.60 out of 5) [ 20 July, 2022 ]

It was very effective. The instructor was very knowledgeable and kept the course interesting throughout the session.

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