Beginner Python Lessons

We hope you will enjoy these courses as they become increasingly more challenging overtime. It is crucial that you internalize the basic concepts by repetition and practice.

Beginner Python Exercises offer a great way to get your feet wet in the beginning of this journey. They are free, online and interactive.

Below, you can find Python beginner lessons awaiting you. When you’re ready, you can also visit the intermediate level Python lessons.

Online Python Lessons

Choose the topics you'd like to learn from our extensive lesson list.

Lesson 1: print()   |   Expected time: 4 minutes
It’s the tradition. Print “Hello World!” and start an amazing journey. 🙌

Lesson 2: Variables   |   Expected time: 9 minutes
Variables are probably the most fundamental building blocks in high-level programming. Learn and Practice variables with this Python course.

Lesson 3: Data Types   |   Expected time: 10 minutes
Learn Python data types: int, float and str. They have different functions to store, process and represent different types of data.

Lesson 4: Type Conversion   |   Expected time: 12 minutes
Sometimes it makes sense to convert Python data types between each other (when possible). int, float and str are also functions for converting data types. And when you’re not sure of a variable’s type, you can use type function!

Lesson 5: Data Structures   |   Expected time: 22 minutes
In this Python course data gets a bit more structured. Python lists, dictionaries and tuples are famous sequences that can contain various type of data. You will learn most common Python data structures along with functions to create them.

Lesson 6: Lists   |   Expected time: 35 minutes
A closer look at Python lists and some of their built-in methods and functions. This lesson introduces a lot of fundamental Python topics but it’s so worth it. Make sure you take your time and get comfortable with Python lists as you will be using them a lot.

Lesson 7: Tuples   |   Expected time: 14 minutes
Python tuple concept, difference between tuple and list along with some tuple examples and built-in tuple methods in Python.

Lesson 8: Dictionaries   |   Expected time: 23 minutes
Yet another cool Python data structure: dictionaries will be unraveled in detail. Python Dictionaries new perspectives to data such as usage of key and unindexed structure.

Lesson 9: Strings   |   Expected time: 25 minutes
Good ol’ strings revisited. More string methods, more built-in functions and more string examples. When you think about string, it’s everywhere. Web data, reports, news, social media, books, descriptive text, user input, survey answers, gui and many more. So it deserved a revisit.

Lesson 10: len()   |   Expected time: 5 minutes
A practical Python function to get length of different types of data in Python.

Lesson 11: .sort()   |   Expected time: 8 minutes
This list method can be very useful to sort data in a list. Later in intermediate lessons its cousin sorted function will be introduced along with slightly more advanced concepts. sort is a list method while sorted is a built-in function.

Lesson 12: .pop() method  |   Expected time: 7 minutes
In this course an interesting dictionary method, pop, will be introduced. It’s also an opportunity to polish our Python dictionary knowledge. 

Lesson 13: input()   |   Expected time: 6 minutes
One of the most exciting Python function for many beginners, input allows interacting with users. You can ask questions or share messages with users and harvest their answers to use them in your computer program. Input also provides opportunities to practice Python data types.

Lesson 14: range()   |   Expected time: 8 minutes
Range function is practical and it can be used to create range objects in Python. Range objects are very useful when used with for loops and they can also be used to create lists of numbers (int or float) with different steps (default 1).

Lesson 15: Error Handling   |   Expected time: 9 minutes
Errors are a way of computers to  say something’s not right or they don’t understand something when we write computer programs. It can be very useful to know what different errors mean in Python and how to handle them. As you get familiar with more errors they will stress you less when coding!

Lesson 16: Defining Functions   |   Expected time: 15 minutes
In computer world you are not limited to built-in functions only. Often it makes sense to construct a user-defined function and tuck your pieces of code in there. Re-usability, structure, sophisticated Python operations… You are advancing in Python programming. Congrats!

Lesson 17: Slicing   |   Expected time: 11 minutes
Slicing notation is a must know. It may seem a bit weird at first but Python slicing notations are actually addictively cool. Slice many different types of data, from the beginning to the end, end to beginning and with steps too!

Lesson 18: Python Operators   |   Expected time: 11 minutes
You have probably been using Python Operators all along. In this course you will be officially introduced to different Python operators and their functions. Later in intermediate concepts they will be quite handy. And remember, old habits die hard.

If you’re getting comfortable with Python syntax and want to discover some practical applications via tutorials feel free to visit the Holy Python main page.


Choose from over 100+ free online Python courses.

Python Lessons

Beginner Lessons

Simple builtin Python functions and fundamental concepts.

Intermediate Lessons

More builtin Python functions and slightly heavier fundamental coding concepts.

Advanced Lessons

Python concepts that let you apply coding in the real world generally implementing multiple methods.

Python Exercises

Beginner Exercises

Basic Python exercises that are simple and straightforward.

Intermediate Exercises

Slightly more complex Python exercises and more Python functions to practice.

Advanced Exercises

Project-like Python exercises to connect the dots and prepare for real world tasks.