Intermediate Python

Take your Python skills to the next level. Python can do much more than you think.

Lifetime access for $39!

Course Content

FREE Ep01 - Programming Paradigms

There are different programming styles in the modern computing world — Procedural vs Object Orientated Programming (OOP) vs Functional.

FREE Ep02 - Intro to OOP: Class, constructor, method and property

OOP is fairly different to the programming styles that we have seen so far in our introductory series.

PREMIUM Ep03 - Inheritance

Inheritance is the idea of having a subclass extends/inherits everything that a base class has to offer, including all the methods and properties. It is a great way to reuse existing methods and properties in the base class.

PREMIUM Ep04 - Class composition

Although inheritance aims to help us to improve code re-usability, it has its flaws. It is not very flexible and could sometimes lead to a very messy code structure. Let's learn about the whys in this lesson.

PREMIUM Ep05 - Doc String

As our app grows larger and larger, there is a pressing need to provide documentation to our code, ie describing what our functions do so our future self and fellow peers can easily understand our code. Python has this specific syntax and convention for us to write in-line documentation within our code, and it is called doc-string. Let's learn how to write our first doc-string documentation.

PREMIUM Ep06 - Project: Word Counter

Counting the frequency of words in a book could be an interesting task, and you might have an unexpected finding. Let's try to do just that in this project.

PREMIUM Ep06.1 - Project Solution: Word Counter

Solution to project: Word Counter.

PREMIUM Ep07 - Higher Order Functions and Callback

A function can accept another function as its argument! Furthermore, a function can return another function as its result! These types of functions are called higher order function. Let's learn more about them.

PREMIUM Ep08 - Anonymous function: Lambda function

Anonymous functions are functions without a name. They are also known as lambda functions in Python, because they are declared using the 'Lambda' keyword.

PREMIUM Ep09 - Map and Filter

Map and Filter are my most favourite functions when working with iterables. These little functions are incredibly useful to write declarative and expressive code, and are especially used heavily in functional programming.

PREMIUM Ep10 - Decorator

Decorators are wrapper functions that help us to modify the functionality of existing functions. Python community uses decorators extensively. They are often used to enhance functions in an expressive way so our code is more readable. Let's dive in to learn how decorators work and why they are useful.

PREMIUM Ep11 - Class method, Class property and static method

Other than the normal property and method in a class, Python offers us 3 other type of variants. A class property is a property that shared across all instances of the class. A class method is a method that allow us to manipulate class properties. A static method is a method that can be called without instantiating a class.

PREMIUM Ep12- Abstraction: Abstract Class and the ABC module

Abstraction is one of the key pillars in OOP. It is the idea of abstracting away the implementation logic, and just simple expose the object interface to the user, eg the user only needs to know what public methods/properties are available to use.

PREMIUM Ep13 - Polymorphism and Dependency Injection

Polymorphism is a concept where a class can have many different variants. Confused? Let's learn more about it in this video.

PREMIUM Ep14 - Getter and Setter

We almost always wanted to avoid direct manipulation on our protected properties. There is a way to do this, and it is through methods called getter and setter. Python actually offers us an easy way to implement the getter and setters.

PREMIUM Ep15 - Custom Exception

Python has a lot of built-in errors. However, sometimes we need something more specific than those errors. Let's learn how to create our own error class and throw our custom error.

PREMIUM Ep16 - Project: Mailer

Sending email using Python is fun. The possibilities are endless. Imagine sending 1000 emails in one go! This project you will explore how to do exactly that!

PREMIUM Ep16.1 - Project Solution: Mailer

Solution to project mailer.

PREMIUM Ep17 - Project: Find and replace

Sometimes we want to perform a massive find and replace operation across hundred of files. Doing this manually is certainly not practical. In this project, we will be writing a Python program to do that just for us!

PREMIUM Ep17.1 - Project Solution: Find and Replace

Solution to Project: Find and replace
Ep01 - Programming Paradigms
There are different programming styles in the modern computing world — Procedural vs Object Orientated Programming (OOP) vs Functional.
This site uses cookies and other tracking technologies to assist with navigation and to analyse site usage. By using this website you agree to our use of cookies. For more information about our use of cookies, please see our Privacy Policy. Your use of this site is also subject to our Terms of Use.