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
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
⊕ Expand full topic list
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
⊕ See more
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
⊕ See more
Unit 3: Closures and Decorators
- Understanding Local Functions
- Understanding Closures and Nested Scopes
- Using Function Decorators
- Validating Arguments
⊕ See more
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
⊕ See more
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
⊕ See more
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
⊕ See more
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
⊕ See more
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
⊕ See more
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
⊕ See more
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
⊕ See more
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
⊕ See more
Unit 12 - Introspection
- Introspecting Types
- Introspecting Objects
- Introspecting Scopes
- Using the Inspect Module
- Building an Object Introspection Tool
⊕ See more
Related Courses
Course Reviews
plenty of content, good pace. Certainly no time wasted.
Matt was a great instructor and has explained the chapters really good.
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.
It was very effective. The instructor was very knowledgeable and kept the course interesting throughout the session.
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.