Programming Languages


Learn Python Programming Masterclass

This Python For Beginners Course Teaches You The Python Language Fast. Includes Python Online Training With Python 3

4.54 (67502 reviews)



61 hours


Jan 2021

Last Update
Regular Price

What you will learn

Have a fundamental understanding of the Python programming language.

Have the skills and understanding of Python to confidently apply for Python programming jobs.

Acquire the pre-requisite Python skills to move into specific branches - Machine Learning, Data Science, etc..

Add the Python Object-Oriented Programming (OOP) skills to your résumé.

Understand how to create your own Python programs.

Learn Python from experienced professional software developers.

Understand both Python 2 and Python 3.




Whether you want to:

- build the skills you need to get your first Python programming job

- move to a more senior software developer position

- get started with Machine Learning, Data Science, Django or other hot areas that Python specialises in

- or just learn Python to be able to create your own Python apps quickly.

…then you need a solid foundation in Python programming. And this course is designed to give you those core skills, fast.

This course is aimed at complete beginners who have never programmed before, as well as existing programmers who want to increase their career options by learning Python.

The fact is, Python is one of the most popular programming languages in the world – Huge companies like Google use it in mission critical applications like Google Search.

And Python is the number one language choice for machine learning, data science and artificial intelligence. To get those high paying jobs you need an expert knowledge of Python, and that’s what you will get from this course.

By the end of the course you’ll be able to apply in confidence for Python programming jobs. And yes, this applies even if you have never programmed before. With the right skills which you will learn in this course, you can become employable and valuable in the eyes of future employers.

Here’s what a few students have told us about the course after going through it.

“I had very limited programming experience before I started this course, so I have really learned a lot from the first few sections. It has taken me from essentially zero programming skill to a level where I'm comfortable using Python to analyze data for my lab reports, and I'm not even halfway done the course yet. There are other courses out there which focus on data analysis, but those courses are usually targeted at people who already know how to program which is why I chose this course instead. “ – Christian DiMaria

“I have been puttering through your Python course . In that time, though, and without finishing it yet I've been able to automate quite a bit at my work. I work in a school system and unifying data from our various student information systems can be incredibly frustrating, time consuming, and at times challenging. Using your course, I've learned enough to write applications that turn massive text files into dictionaries that get "stitched" together like a database and output to properly formatted CSV files and then uploaded via SFTP to various systems for secure processing. Our teachers, students, and the tech department have greatly benefitted from this automation. I just wanted to drop you a note thanking you for helping me learn this skill.” – Keith Medlin

“This course was great. Within 3 weeks I was able to write my own database related applications.” – Theo Coenen

And there are many more students who love the course – check out all the reviews for yourself.

Will this course give you core python skills?

Yes it will.  There are a range of exciting opportunities for Python developers. All of them require a solid understanding of Python, and that’s what you will learn in this course.

Will the course teach me data science, machine learning and artificial intelligence?

No, it won’t do that – All of these topics are branches of Python programming.  And all of them require a solid understanding of the Python language.

Nearly all courses on these topics assume that you understand Python, and without it you will quickly become lost and confused.

This course will give you that core, solid understanding of the Python programming language.

By the end of the course you will be ready to apply for Python programming positions as well as move on to specific areas of Python, as listed above.

Why should you take this course?

There are a lot of Python courses on Udemy – Your instructors, Tim and Jean-Paul are pretty unique in that between them they have around 70 years of professional programming experience.  That’s more than a lifetime of skills you get to learn Python from.

You can enrol in the course safe in the knowledge that they are not just teachers, but professional programmers with real commercial programming experience, having worked with big companies like IBM, Mitsubishi, Fujitsu and Saab in the past.

As such you will not only be learning Python, but you will be learning industry best practices for Python programming that real employers demand. 

And if that’s not enough take a read of some of the many reviews from happy students – there are around 100,000 students who have left around 19,000 reviews.

This is one of the most popular courses on Python programming on Udemy.

Here’s just some of what you’ll learn

(It’s okay if you don’t understand all this yet, you will in the course)

·       All the essential Python keywords, operators, statements, and expressions needed to fully understand exactly what you’re coding and why - making programming easy to grasp and less frustrating

·       You will learn the answers to questions like What is the Python For Loop, what is Python used for, how Python switch the traditional syntax of code, and more.

·       Complete chapters on object-oriented programming and many other aspects of Python, including tKInter (for building GUI Interfaces) and using databases with Python.

·       Although this is primarily a Python 3 course, a python developer will need to work with Python 2 projects from time to time – We’ll show the difference in both versions to make sure you understand how things work differently in each version.

·        How to develop powerful Python applications using one of the most powerful Integrated Development Environments on the market, IntelliJ IDEA! - Meaning you can code functional programs easier.  IntelliJ has both a FREE and PAID version, and you can use either in this course.  PyCharm will also work just fine.

(Don’t worry if you want to use another IDE. You’re free to use any IDE and still get the most out of this course).

Does the course get updated?

It’s no secret how technology is advancing at a rapid rate. New, more powerful hardware and software are being released every day, meaning it’s crucial to stay on top with the latest knowledge.

A lot of other courses on Udemy get released once, and never get updated.  Learning from an outdated course and/or an outdated version of Python can be counter productive and even worse it could teach you the wrong way to do things.

For example if you apply some parts of Python 2 to Python 3 code, you will get completely different results.

We cover differences like this in the course and also continually update the course as well.

What if you have questions?

As if this course wasn’t complete enough, we offer full support, answering any questions you have 7 days a week (whereas many instructors answer just once per week, or not at all).

This means you’ll never find yourself stuck on one lesson for days on end. With our hand-holding guidance, you’ll progress smoothly through this course without any major roadblocks.

That’s just one reason why Tim was voted top 10 in the  Udemy instructor awards (out of a whopping 18,000 instructors), and quickly became a top-rated, bestselling instructor on the Udemy site.  

Student Quote: “Tim and JP are excellent teachers and are constantly answering questions and surveying students on new topics they will like to learn. This isn't a Python course it’s THE Python course you need.” – Sean Burger

There’s no risk either!

This course comes with a full 30 day money-back guarantee. Meaning if you are not completely satisfied with the course or your progress, simply let Tim or J-P know and they will refund you 100%, every last penny no questions asked.

You either end up with Python skills, go on to develop great programs and potentially make an awesome career for yourself, or you try the course and simply get all your money back if you don’t like it…

You literally can’t lose.

Ready to get started, developer?

Enrol now using the “Add to Cart” button on the right, and get started on your way to creative, advanced Python brilliance. Or, take this course for a free spin using the preview feature, so you know you’re 100% certain this course is for you.

See you on the inside (hurry, your Python class is waiting!)


Learn Python Programming Masterclass
Learn Python Programming Masterclass
Learn Python Programming Masterclass
Learn Python Programming Masterclass


Course Introduction

Introduction To The Course

Remaster in Progress

Video Quality


How to Get Help

Important Tip - Source Code

Install and Setup

Python for Windows

Installing IntelliJ IDEA for Windows

Python for Mac

Install IntelliJ IDEA for Mac

Python for Linux

Install IntelliJ IDEA for Linux

Configuring IntelliJ IDEA

Stepping into the World of Python


Our First Python Program

Printing in Python

Printing text

Printing the result of a calculation

Strings in Python

The Escape Character

Printing tabs

More on Escape Characters in Strings

Variables and Types

Python is a Strongly Typed Language

Numeric Data Types in Python

Numeric Operators


Integer division

Operator Precedence

The str String Data Type

Negative Indexing in Strings


Slicing with Negative Numbers

Using a Step in a Slice

Slicing Backwards

Challenge Solution and Slicing Idioms

String Operators

String Replacement Fields

String Formatting


Python 2 String Interpolation

Section Summary

The Basics of Python

Program Flow Control in Python

Introduction to Blocks and Statements

if Statements


Using a Debugger in IntelliJ or Pycharm

More on if, elif and else

if, elif, and else in the Debugger

Using if with strings

Simple condition

Adding a Second Guess

Conditional Operators

Challenge Solution

Using and, or, in Conditions

Simplify Chained Comparison

Boolean Expression True and False

Truthy Values

in and not in

if Challenge

Solution to if Challenge

for loops

Stepping through a for loop

for loops Extracting Values from User Input

Extracting capitals

Iterating Over a Range

For loop

More About Ranges

For loop with step

Nested for loops



Initialising Variables and None

while loops

More on while loops

Break in a while loop



The Random Module and Import

Challenge Solution

Binary Search

Hi Lo Game

Pass Statement and Complete the Hi Lo Game

Testing the Hi Lo Game

Augmented Assignment

augmented assignment in a loop

PEP8: The Python Style Guide

Refactoring Code

else in a loop

else in the Hi Lo Game

Conditional Debugging

Another else Example

Section Summary and Challenge

Section Challenge Solution

Optional Extra Challenge Solution

Changing the Condition

End of Remaster

Flow Control Quiz

Lists, Ranges & Tuples in Python


Lists In Python

More About Lists

Challenge - Lists

Understanding Iterators

Understanding and using Ranges

More About Ranges

Ordered Sets With Tuples

More On Ordered Sets With Tuples

Lists, Ranges and Tuples

The Binary number system explained

Introduction to the Section

Binary Basics

What is binary

Hexadecimal and Octal and the Challenge

Python Dictionaries and Sets

Introduction to the Section

Python Dictionaries

Dictionaries Part 2

Dictionaries Part 3

Dictionaries Challenge

More on Dictionaries

The Second Dictionary Challenge


Python Sets Part 2 and Challenge

Input and Output (I/O) in Python

Introduction to the Section

Reading and writing text files

Writing Text Files

Appending to Files and Challenge

Writing Binary Files Manually

Using Pickle To Write Binary Files


Manipulating Data With Shelve

Updating With Shelve

Shelve Challenge

Challenge Continued

Modules and Functions in Python

Introduction to the Section

Modules and import

The standard Python library

WebBrowser Module

Time and DateTime in Python

Time (Continued) and Challenge.


Check Path In Windows

Check Path on a Mac

FAQ: Installing packages in IntelliJ IDEA and PyCharm

Installing the pytz module (Windows/Mac/Linux)

Using Timezones

More on Timezones

Timezone Challenge

Introduction to Tkinter

TkInter - Pack Geometry Manager

TkInter - Grid Geometry Manager

Advanced GUI Example Part 1

Advanced GUI Example Part 2

Advanced GUI Example Part 3

Tkinter Challenge

Functions in Python

Functions Part 2

Functions Part 3

Parabola - More on Functions

Scope in Functions

Fix Function and Draw Circles

Enhanced Circles and Challenge

Blackjack Setup

Load Cards

Deal Cards

Global Variables

Global Keyword

Test Blackjack Game

Blackjack Challenge

Importing Techniques

Underscores in Python code

Namespaces, more on Scope and Recursion

Recursion with OS Module and Filesystem and Nonlocal keyword

Nonlocal keyword, Free and LEGB

Object Oriented Python

Object Orientated Programming and Classes

Instances, Constructors, Self and more

Class Attributes

Methods Part 1

Methods Part 2

Non Public and Mangling

DocStrings and Raw Literals

Album class and More on DocStrings

Artist class and import Albums

Load data and Write Checkfile

Compare Files and Algorithm Flowcharts

Implement Revised Load_Data Algorithm

Write OOP Version

Getters and Properties

Remove Circular References Challenge

Getters and Setters

Data Attributes and Properties

Alternate Syntax for Properties


Subclasses and Overloading

Calling Super Methods

Changing Behavior of Methods

Overriding Methods

Inheritance Challenge


Duck Test


Composition Continued

Test Code and Challenge


Using Databases in Python

Introduction to Databases

Database Terminology

Sqlite3 Install on Windows

Sqlite3 Install on a Mac

SQLite3 Install on Ubuntu Linux

Introduction to SQLite

More with SQL using SQLite

Querying data with Sqlite

Order by and Joins

More complex Joins

Wildcards and Views

Housekeeping and the Challenge

SQL in Python

Connections, Cursors and Transactions

SQL Injection Attacks

Placeholders and Parameter Substitution


Exceptions Challenge

Exceptions Continued

Raising Exceptions

More on Exceptions

Custom Exceptions

Rolling back Transactions

Adding Database code to the Account Class

GUI Database Editing Overview

Ultimate Edition Database View

Community Edition Database Plugin

Update Deposit and Withdrawal Methods

Displaying Time in Different Timezones

SQLite3 strftime Function


Problems Storing Timezones

Rolling Back Transactions

Simple Database Browser


Star Args


More on KWArgs

Scrollable Listbox

Populating a Listbox from a Database

Show Songs from Album

The DataListbox Class Code

Linking our DataListBoxes

Linking our DataListBoxes Continued

DataListbox Challenge

Section currently being added to regularly

Generators, Comprehensions and Lambda Expressions


Generators and Yield

Next and Ranges

Generator Examples - Fibonacci numbers and Calculating Pi

The os.walk Generator

Searching the Filesystem

Reading Mp3 Tags

List Comprehensions

List Comprehensions and Side-Effects

Challenge Solutions

Conditional Comprehensions

Conditional Expressions


Challenge 1 Solution

Challenge 2 Solution

Nested Comprehensions

Nested Comprehensions Challenge

The timeit Module

More on timeit

timeit Continued and Challenge

timeit Challenge

Map Intro

Map Challenge Completion

The Filter Function

The Reduce Function

any and all

Named Tuples

any and all with Comprehensions



Virtual Environments

Content Coming Soon

Course Remaster in Progress

Introduction to Sequence Types


Immutable Objects

Mutable Objects

Binding Multiple Names to a List

Common Sequence Operations

Operations on Mutable Sequences


Introduction to the course

ARCHIVED-Python Setup for Windows


Install Python on Windows

IDLE On Windows with a cool demo app!

Installing IntelliJ on Windows

Configuring IntelliJ and Pycharm on Windows

Free 90 Day Extended Trial of IntelliJ Ultimate Edition Now Available

Move to next section!

ARCHIVED-Python Setup for Mac


Downloading And Installing Python On Mac OS X


IDLE on Mac OS X with a cool demo app!

Installing Intellij on Mac

Configuring IntelliJ and Pycharm on Mac

Free 90 Day Extended Trial of IntelliJ Ultimate Edition Now Available

Move to next section!

ARCHIVED-Python Setup for Linux


Downloading And Installing Python On Ubuntu Linux

IDLE on Ubuntu Linux with a cool demo app!

Installing Intellij on Linux

Configuring IntelliJ and Pycharm on Linux

Free 90 Day Extended Trial of IntelliJ Ultimate Edition Now Available

ARCHIVED-The Basics of Python

Your Programming Careers Questions Answered

Important Videos To Watch on Youtube


Getting To Know Python

Printing text

Printing the result of a calculation

Understanding More About Python

Printing tabs

Storing Items In Variables

Integer division

More About Variables And Strings

String Formatting - Displaying Numbers And Strings

Quiz: The Basics of Python

ARCHIVED-Program Flow Control in Python


An Introduction To Program Flow Control

Test Conditions With If, ElIf & Else

Using if with strings

More Advanced If, ElIf & Else Processing

Simple condition

Challenge - If Then Else

For Loops

For loop

Extending For Loops

Extracting capitals

For loop with step

Understanding Continue, Break And Else



Augmented Assignment

augmented assignment in a loop

Challenge - Program Flow - Part 1

Challenge - Program Flow - Part 2

While Loops

Challenge - While Loop

Extra Information - Source code, and other stuff

Source code for all Programs

Bonus Lecture and Information


Telma9 October 2020

I have just started the course and I am loving it! the lecturer teaches in a very simple way and I could say I am learning a lot! Thanks for sharing!

Carissa9 October 2020

Tim does an amazing job of explaining concepts and going through the course at a good pace. I have coding experience in other programs, but I feel like I have a better understanding of programming overall because of this course.

Jeff9 October 2020

A friendly and easy to listen to teacher. Enjoying the content. It is very thorough so it can feel like slow progress at times, but that is a good thing as you end up with a solid foundation of knowledge. Great course!

Shaun9 October 2020

It is really a impressive experience when we try and learn something new. Understanding the video is pretty easy and the content also was awesome. Understanding the instructor was not at all hard but is easy.

Paul7 October 2020

Well explained and in great detail. Doesn't just rush through things like other courses I've taken on here. Tim has a passion for teaching and it shows.

Zac26 February 2020

This was a very good course - I'll be revisiting it as the new sections are added. It went much further in depth than I was expecting - the GUI implementation is something I can see myself using in some projects, should they need Python.

Joshua26 February 2020

I am brand new to coding, and so far the video has kept me interested and motivated in my pursuit to learn Python.

Ajit25 February 2020

It was a good match. The instructor is very thorough and covers anything that I may have a question about in the lecture.

Chris24 February 2020

Clear and easy to understand. A lot of effort appears to have been put into ensuring that this is the case.

Ronald23 February 2020

So far, the introductory videos are quite clear and I am expecting to learn in the next videos. Let me install and setup:)..can't wait!!

Michael22 February 2020

Great course sofar It is currently being updated was the selling point for me having the most recent content.

Rinse21 February 2020

Most things I already know from my Bachelor Software Engineering. However that was 20 years ago and I learned programming in Java ;)

Nick21 February 2020

Good instructor, not the best match for me personally, but a very detailed course with lots of great information

Karen21 February 2020

The course is very easy to follow along with, so it is not listening solely to lecture - I can create the same results as shown on the screen and understand it in real time.

Anurag20 February 2020

It's good so far although I'm not from a native English speaking nation so it's a bit hard for me to understand that accent with ease. Apart from that, I really like the way he is teaching and I hope I will find that course worthy.


Expired4/18/202093% OFF
Expired5/29/202093% OFF
Expired9/30/202090% OFF
Expired12/19/202091% OFF


Udemy ID


Course created date


Course Indexed date
Course Submitted by

Android PlayStore
Apple Appstore