Buying for a Team? Gift This Course
Wishlisted Wishlist

Please confirm that you want to add Complete Python Masterclass to your Wishlist.

Add to Wishlist

Complete Python Masterclass

Master the Python 3 programming language, understand data structures and access the web with python, step by step.
4.6 (1,849 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
15,489 students enrolled
Last updated 2/2017
English English
$10 $145 93% off
1 day left at this price!
30-Day Money-Back Guarantee
  • 32.5 hours on-demand video
  • 15 Articles
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Have a coupon?
What Will I Learn?
Program fluently in Python
Understand the concepts of Object Oriented Programming
Be able to download and install Python on their computer
Understand Python Keywords, Expressions, Operators and Statements
Create their own Python programs
View Curriculum
  • A computer - Windows, Mac and Linux are all supported and setup and installation videos for each platform are included!
  • Nothing else is needed, everything you need to get started programming in Python is included in the course, and all the tools used are free.

Student Reviews for the Complete Python Masterclass

"I've purchased other courses from Tim before, and he is one of my favorite Course Instructors on Udemy. He provides a lot of detailed information, and concrete examples to help assist with learning difficult concepts of programming. Tim also cares about his courses a lot, and this can be seen with how often courses are updated with new information, and how Tim sends out announcements to students in his courses. If on the fence about purchasing a course in programming because "programming might be difficult", purchasing one from Tim will greatly alleviate that concern." -
Kieran Thomsen

"This course is really awesome! Kudos to the instructors....They make really honest efforts to push the concepts deep into the students' mind. It seems like they actually know where a student can have doubts hence they put more emphasis on those points..I am more than 100 % satisfied and more than that, I get a really good feeling after going through each I learnt something new today..Hats off to you guys!" - Mayank


So you want to learn how to program in Python?

And you want to do this without attending class, or going through a pile of textbooks or online guides.

Does this sound like you?

And you want to learn things the right way, so you can put your big plans into action and create some great Python programs.  But you want to learn Python fast.

Well, my names Tim Buchalka, and I’ve designed the Complete Python Masterclass just for you!

This course will help you develop Python programs for Microsoft Windows, Mac OS X and Linux.

Learning Python will give you more opportunities for jobs and career advancement because Python is one of the most requested skills in 2016!

This course assumes no previous programming or Python experience. If you’ve never programmed a computer before, or if you know another programming language and want to learn Python, this course will teach you how.

The course is continually updated and enhanced, and fully supports Python 3. This guarantees what you are learning is relevant for you today and is not obsolete.

Click the Free preview button on this page and check out a few of the videos to judge the quality for yourself.

And if you have any doubts as to the course quality, check out the glowing reviews left by students on this page.

The instructors in this course, Tim and Jean-Paul have a collective sixty years of commercial software development experience, meaning you are learning the right way to program to maximize your future development potential.

Our courses have a history of teaching students the real-life skills they need to get jobs or further their programming skills.

Take this course in confidence today knowing you have just found the best Python course on Udemy!

Don't delay. Every minute you are not learning Python is another potential opportunity wasted. 

Click the Take this course button now and start learning now.

Who is the target audience?
  • The course is aimed at complete beginners and intermediate programmers. No previous programming experience is assumed!
  • If you are an expert Python programmer with extensive knowledge and many years experience, you may not get a lot out of this course. For everyone else the course is perfect for you!
Students Who Viewed This Course Also Viewed
Curriculum For This Course
Expand All 183 Lectures Collapse All 183 Lectures 32:45:28
1 Lecture 04:47

Have an understanding of what the course is about.

Preview 04:47
Python Setup for Windows
6 Lectures 28:55

Have an understand of what this section is all about.


This lecture will guide you through installing Python on Windows. We will cover where to download the Python installer from, how to install and set it up and also how to confirm Python is successfully installed and ready to use.

Preview 03:46

Start using Python with IDLE on Windows. IDLE is the Integrated development environment that comes standard with Python. While we won’t be using this for most of the course, its a good introduction to Python and can be useful for you to know about.

Preview 05:34

How to get your extended 90 day trial of IntelliJ Ultimate edition!

Free 90 Day Extended Trial of IntelliJ Ultimate Edition Now Available

Python Setup for Mac
6 Lectures 26:45

Get an understanding on what this section for Mac users is all about


This lecture will guide you through installing Python on Max OS X. We will cover where to download the Python installer from, how to install and set it up and also how to confirm Python is successfully installed and ready to use.

Preview 02:40

Start using Python with IDLE on Mac OS X. IDLE is the Integrated development environment that comes standard with Python. While we won’t be using this for most of the course, its a good introduction to Python and can be useful for you to know about.

Using IDLE on Mac OS X

How to get your extended 90 day trial of IntelliJ Ultimate edition!

Free 90 Day Extended Trial of IntelliJ Ultimate Edition Now Available

Python Setup for Linux
6 Lectures 25:36

Having an understanding on what this section covers for Linux users


This lecture will guide you through installing Python on Ubuntu Linux. We will cover where to download the Python installer from, how to install and set it up and also how to confirm Python is successfully installed and ready to use.

Preview 05:36

Start using Python with IDLE on Ubuntu Linux. IDLE is the Integrated development environment that comes standard with Python. While we won't be using this for most of the course, its a good introduction to Python and can be useful for you to know about.

Using IDLE on Ubuntu Linux

This lecture will introduce you to IntelliJ, the main tool we will be using in this course. You will learn where to download it, and how to install it on a machine running Ubuntu Linux.

Installing IntelliJ on Ubuntu Linux

IntelliJ needs to be configured to work with Python. We will do that in this video for a machine running Ubuntu Linux.

IntelliJ Python Configuration For Ubuntu Linux

How to get your extended 90 day trial of IntelliJ Ultimate edition!

Free 90 Day Extended Trial of IntelliJ Ultimate Edition Now Available
The Basics of Python
6 Lectures 01:10:59

Have an understanding on what this section is going to offer in teaching you Python basics


This lecture is aimed at giving you a rundown on Python and its history (dont worry its not boring). You will learn how to create a project for the first time, how to make use of the print command to display information to the screen, as well as finding out what strings and operators are and how they work.

Getting To Know Python

Let’s talk about getting input from the keyboard, and displaying the results, and then move on to the various ways to display output on a new line.

Understanding More About Python

This lectures will discuss a fundamental concept in Python (and other programming languages). How to store items to be used in a program. You will understand what variables are and their purpose in Python. You will also understand more about operators, and how to make use of them. The operators we will discuss include +, - , *, / , and //.

Preview 16:25

Moving on with variables, we now discuss the importance of brackets for operator precedence, and how it can impact your calculations. You will also learn more about String variables, and the various ways of display them.

More About Variables And Strings

String formatting is another important concept in Python, and you will learn about it in this video. Specifically, what String formatting is, how to apply it in your code, and display Strings and numbers. You will also be introduce to replacement fields, which is important when it comes to printing out multiple strings and numbers.

String Formatting - Displaying Numbers And Strings
Program Flow Control in Python
13 Lectures 02:20:49

Get and understanding on the various types of Program Flow Control lectures you will be tackling in this section


Its time to discuss the basics of Program Flow Control. Namely, what it is and how its used, and how its an important basic fundamental in Python programming. You will also learn about indentation which is something not required in many other programming languages, and how using it incorrectly can prevent programs from working.

An Introduction To Program Flow Control

If, ElIf, and Else are important building blocks for Python programs. Here we are going to discuss what they are used for, namely condition processing of your code, which is essential to creating any program of even minimal complexity.

Preview 18:44

This lectures continues where we left off with If, ElIf, and Else. This time we will use more complex versions and get to know the and and or operators.

More Advanced If, ElIf & Else Processing

This is a challenge lecture to better understand your knowledge of If, ElIf, and Else. As with all challenges in the course, try solving the challenge first, and then come back and see how we did it. The challenge involves creating a program that asks the user to enter the name and age and check if the age meets our requirements to take a holiday.

Preview 06:30

A for loop is use by programmers to execute a line or block of code a given number of times. You will learn what how to generate a for loop in Python.

For Loops

We move on to more advanced applications of for loops, such as printing out a sequence of strings. We also get to know about using step in your for loop and its usefulness.

Extending For Loops

In some cases you may want to break out a for loop early. We are going to look at continue and break which are two ways to help control the flow of your Python program. Plus we are going to look at a second and separate use of Else that we have not seen previously.

Preview 16:26

IntelliJ does a great job to warn us if our code has errors, but it also suggests if there are ways for the code to be improved. We will find out how to use the markers that show up on the right hand side of the screen to check for warnings in our code. We will also learn to use a short hand way to assign values to variables with a concept called Augmented Assignment.

Preview 09:42

Challenge - Program Flow - Part 1

Challenge - Program Flow - Part 2

A for loop is only one type of loop. Another loop used in Python is the while loop, which is based on conditions you set, rather than executing a given number of times. You will learn about the while loop in this video

While Loops

This is a challenge for the while loop. The challenge consists of you developing a program that allows as many guesses of a number as possible and should the let the player know if the guess is higher or lower (its an advanced version of code we developed without a while loop previously).

Challenge - While Loop
Lists, Ranges & Tuples in Python
9 Lectures 01:26:08

You are going to understand what the sections covers when it comes to the topic of Lists,Ranges and Tuples.


This lecture introduces you to the basic sequences in Python. Namely Lists, Ranges and Tuples. We will focus mainly on Lists here, what they are, how they work, and all about sequences. Plus we will start on sequence operators. We will even cover how to sort your lists simply and efficiently.

Lists In Python

This lecture continues the discussions on lists with an exercise on using the list function to print each and every single character of a string. We discuss some inbuild options like setting reverse=true to reverse the sorting of elements in a list.

Preview 09:56

This is a challenge for lists, designed to test your understanding of them. You should come away after completing the challenge with a better understanding of lists.

Challenge - Lists

Its time to discuss Iterators and Iterable Objects. We discuss the relationship of Strings and Lists with Iterators which should help you understand how useful they are and how to use them. There is also a mini challenge in this video as well.

Understanding Iterators

Ranges are a useful addition to for loops. You will learn about Ranges here. Specifically, you will learn about having more fine control on what part of the sequence you want to process. In addition, you will understand what to do and importantly, what not do when using Ranges in your Python code. We finish with understanding Slices, what they are and how to implement them with ranges.

Preview 11:35

We continue on with Ranges from where we left them in the previous video. Lets look at understanding equality in ranges, as well as how to reverse a range in order. We also go through a mini challenge to test our understanding of Ranges.

More About Ranges

This lecture focuses on tuples, what they are (an alternative to Lists), and how they are important if you want to have an immutable sequence (you will understand what that means as well). We will also discuss when to use a list, and when to use a tuple.

Ordered Sets With Tuples

Continuing on with Tuples, here are will look at more advanced concepts. Specifically, how to put tuples within tuples. And we will finish off with a mini challenge where you will need to figure out how to use Tuples to print a music album's individual track details.

Preview 14:49
The Binary number system explained
4 Lectures 31:31

Have an understanding on what this section on Binary number system will cover.

Introduction to the Section

An introduction to what Binary actually is

Binary Basics

A deeper discussion on what Binary is and how to implement it

What is binary

In this section you will get an understanding on how Hexadecimal and Octal relates to the Binary system as well as a challenge in the end

Hexadecimal and Octal and the Challenge
Python Dictionaries and Sets
9 Lectures 02:04:36

Have an understanding on the various topics you will go through in this section.

Introduction to the Section

The part 1 to understanding dictionaries in Python

Preview 16:06

Part 2 to understanding dictionaries in Python

Dictionaries Part 2

The final part to understanding dictionaries in Python

Dictionaries Part 3

Tackle the 2 challenges for dictionaries

Dictionaries Challenge

Get a more deeper understanding on Dictionaries

Preview 16:54

The second challenge for the Dictionaries topic

The Second Dictionary Challenge

Get to know about sets in Python and gain an understanding on how to use it.


Continuation on the discussion on sets as well as a Python challenge all around it.

Python Sets Part 2 and Challenge
Input and Output (I/O) in Python
11 Lectures 02:25:23

Have an understanding on the various topics you will learn from this Input and Output section.

Introduction to the Section

Get an understanding on the number of ways to read a file.

Reading and writing text files

Get an understanding on the number of ways to write a file.

Writing Text Files

Understanding how to use the mode to append files as well as a challenge about it

Appending to Files and Challenge

Have an understanding on how to write binary files in Python

Writing Binary Files Manually

Get to know Pickling in Python and how it is use to write binary files

Preview 19:35

Get an understanding on the alternative to Pickling and that is the Shelve module


Learn how to manipulate data in a file using the Shelve module

Manipulating Data With Shelve

Go into understanding on how to update values stored in a shelve, a common way to increase performance and also tackle a problem that people often encounter in the shelve module

Updating With Shelve

Learn how to get pass the errors when converting a Dictionary into a Shelve as well as go through the Shelve challenge

Shelve Challenge

Continuation of the Shelve challange

Challenge Continued
8 More Sections
About the Instructor
4.6 Average rating
15,740 Reviews
87,798 Students
4 Courses
Java, Android & Python Professional Developer & Teacher

Tim's mission is simple:  to make a difference in your life by helping you to become a software developer.  Tim does that through his Android, Python and Java courses.

When Tim started programming over thirty years ago, there was no online video training.  

There was no "easy" way to learn.  The Internet, in its current form, didn't exist, and as a result, Tim couldn't "Google" for help, or watch videos on Youtube.

After learning the hard way, Tim was determined to become the best teacher he could, and to make his training as painless as possible, so that you, or any one else with the desire to become a software developer, could become one.

In between doing that, Tim spent the best part of those years as a professional software developer.

Tim is relatively unique, in that he is a professional, experienced software developer who also has exceptional teaching skills.  

Many instructors have no work experience in the field!  Make sure the person you trust with your education is a real expert with substantial previous professional experience.

The bottom line for you is, when taking any of Tim's courses, is that you will learn the right way to do things from an expert, in the shortest possible amount of time.

Tim's Java, Android, and Python courses, here on Udemy are of the highest quality as reviewed by his students.   Ten's of thousands of students, just like you, have taken his classes, thousands have left glowing reviews, and many have gone on to full-time jobs, or consulting/freelancing opportunities after completing one of his courses.

Tim recently placed in the top ten Udemy instructors as voted for by his students and Udemy themselves.  

What does all of this mean for you?

You can have full confidence that Tim's courses are of exceptional quality, and that he can teach you to become a software developer if you have the desire to become one.

Are you ready to start?  You can get started today!  No previous experience is necessary.

In 2016, video training is the quickest way to learn, and with Tim's experience and training, it is possible for you to become a software developer!  You can do this!

Why not start today?  Click one of his courses below, and watch his introductory video, to find out more about who he is and what he can offer you.

4.6 Average rating
3,500 Reviews
28,905 Students
2 Courses
Computer programmer, analyst and teacher

I am a programmer with over 30 years' experience gained in a range of industries, the last 16 with IBM.

I am now self employed developing apps for Android; programming in a range of languages including Java, Javascript and Python; and helping the next generation of programmers gain the skills that I have acquired over the years.

The first program I sold controlled stock movement in a warehouse, and ran on a CP/M computer - both the program and operating system lived in the 64 kb (yes, kilobytes) that was all CP/M systems had in those days.

I have gained experience in a wide range of industries including Utilities, Retail, Insurance and the Motor Manufacturing industry. My clients and employers have included Northumbrian Water, Arcadia, Royal Sun Alliance, Nissan and Jaguar Landrover. I also worked for Sunderland University for 3 years preparing and delivering training courses in computing.

Times have changed, the challenges are very different to what they were, but programming remains fun!

When not at my computer, I am often riding my motorbike through the wonderful countryside of the UK and Europe.

Report Abuse