Complete Python Masterclass

Master the Python 3 programming language, understand data structures and access the web with python, step by step.
4.6 (1,539 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.
13,562 students enrolled
90% off
Take This Course
  • Lectures 175
  • Length 31 hours
  • Skill Level All Levels
  • Languages English, captions
  • Includes Lifetime access
    30 day money back guarantee!
    Available on iOS and Android
    Certificate of Completion
Wishlisted Wishlist

How taking a course works


Find online courses made by experts from around the world.


Take your courses with you and learn anywhere, anytime.


Learn and practice real-world skills and achieve your goals.

About This Course

Published 11/2015 English Closed captions available

Course Description

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.

What are the requirements?

  • 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.

What am I going to get from this course?

  • 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

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!

What you get with this course?

Not for you? No problem.
30 day money back guarantee.

Forever yours.
Lifetime access.

Learn on the go.
Desktop, iOS and Android.

Get rewarded.
Certificate of completion.


Section 1: Introduction

Have an understanding of what the course is about.

Section 2: Python Setup for Windows

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.


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.


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

Downloading and Installing IntelliJ on Windows
Configuring Python in IntelliJ on Windows
Section 3: Python Setup for Mac

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.


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.


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

Downloading and Installing IntelliJ for a Mac
Configuring Python in IntelliJ on a Mac
Section 4: Python Setup for Linux

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.


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.


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.


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


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

Section 5: The Basics of Python

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.


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.


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 //.


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.


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.

Section 6: Program Flow Control in Python

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.


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.


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.


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.


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.


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.


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.


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.

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


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).

Section 7: Lists, Ranges & Tuples in Python

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.


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.


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.


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.


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.


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.

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.


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.

Section 8: The Binary number system explained

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


An introduction to what Binary actually is


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


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

Section 9: Python Dictionaries and Sets

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


The part 1 to understanding dictionaries in Python


Part 2 to understanding dictionaries in Python


The final part to understanding dictionaries in Python


Tackle the 2 challenges for dictionaries


Get a more deeper understanding on Dictionaries


The second challenge for the Dictionaries topic


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.

Section 10: Input and Output (I/O) in Python

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


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


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


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


Have an understanding on how to write binary files in Python


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


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


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


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


Continuation of the Shelve challange

Section 11: Modules and Functions in Python

Have an understanding on what is going to be covered in this section on Module and Functions.


Get an understanding on how Modules work and how importing works with it.


Get an understanding on the Python standard libray

WebBrowser Module
Time and DateTime in Python
Time (Continued) and Challenge.
Check Path In Windows
Check Path on a Mac
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

Students Who Viewed This Course Also Viewed

  • Loading
  • Loading
  • Loading

Instructor Biography

Tim Buchalka, 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.

Instructor Biography

Jean-Paul Roberts, 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.

Ready to start learning?
Take This Course