What you need to start with Python: Syntax, loops, and data structures.

About The Course

Python is one of the most popular languages in the world, widely used in areas as diverse as data science and machine learning, devops, web development, and automated testing. Stack Overflow reports that it’s not only the most popular language on their site, but also the fastest growing language.


The world’s best-known companies are rapidly adopting Python. I know, because just about every day, I go to such companies (e.g., Apple and Cisco), and teach Python to their staffs. These companies are always looking for people who know Python — but because such people are hard to find, they bring me in to train their existing developers.


My students are typically experienced with C, C++, C#, and Java. So they know how to program, but they don’t know Python. I sometimes say that they can program in Python, but with a Java accent — meaning, they might know how to get things done, but not in the most efficient or “Pythonic” way.


This course covers the very basics of programming in Python: Syntax, conditionals, core data structures, and loops. Python developers use these concepts every single day, whether they’re writing a tiny script by themselves or a major application with a large bunch of colleagues. A strong understanding of these ideas, and how to apply them in practice, is a crucial part of working with Python.


It’s common for people with a background in Java or C# to scoff a bit at the builtin data structures. After all, Python has objects — why waste your time with lists, tuples, and dicts when you create your own classes? But of course, Python objects are built out of lists, tuples, and dicts, so knowing how to work with them is critical. Moreover, those builtin data structures are fast and flexible, and often obviate the need to create y our own class.


If you’re an experienced developer who has always wanted to learn Python, this is the best starting point I can think of. I’ve given this course hundreds of times, to thousands of developers around the world. I’ve honed my explanations to ensure you’ll get the most out of it. And there are lots of exercises, all designed to help you think like a Python developer.

This Course Will Show You How To...


Understand Python's core data structures and how to use them


Understand how to combine core data structures, and the trade-offs associated with different combinations


Understand when and how to use Python's "for" and "while" loops


Write more "Pythonic" code, using native idioms rather than those more common in other languages


Avoid common mistakes when writing Python code

Preview The Course

User Input

Max int?

Raw strings

Course Contents

Course Length

7.35 Hours

Number of Lessons


Training Materials

13 PDFs

Coding Exercises


  • Introduction (13 mins)
  • Variable assignment (6 mins)
  • User input (6 mins)
  • Comments (6 mins)
  • Conditionals (10 mins)
  • Complex conditions (8 mins)
  • Exercise 1 – weather reaction (3 mins)
  • Solution 1 – weather reactions (3 mins)
  • None (8 mins)
  • True, False, and Boolean context (9 mins)
  • Integers (7 mins)
  • Max int? (4 mins)
  • Converting to ints (6 mins)
  • Exercise 2 – Number guessing game (5 mins)
  • Solution 2 – Number guessing game (4 mins)
  • Hex, oct, and bin (7 mins)
  • Floats (8 mins)
  • Intro to strings (10 mins)
  • Backslashes (7 mins)
  • Raw strings (6 mins)
  • Slices (6 mins)
    Searching with “in” (2 mins)
  • Exercise 3 – Pig Latin (4 min)
  • Solution 3 – Pig Latin (5 mins)
  • String methods (14 mins)
  • Triple-quoted strings (7 mins)
  • Bytes and characters (8 mins)
  • Str.format and f-strings (10 mins)
  • Print function options (4 mins)
  • For loops (6 mins)
  • Indexes and enumerate (5 mins)
  • Range (3 mins)
  • Exercise 4 – loop exercises (2 mins)
  • Solution 4 – loop exercises (5 mins)
  • Break and continue (4 mins)
  • Else on loops (5 mins)
  • While loops (10 mins)
  • Lists (10 mins)
  • Assignment and lists (4 mins)
  • Append (4 mins)
  • Exercise 5 – sum and mean of numbers (2 mins)
  • Solution 5 (3 mins)
  • Extend and += (4 mins)
  • Advanced inserting into list (4 mins)
  • Removing from a list (4 mins)
  • Stacks and queues (5 mins)
  • Iterating over lists (5 mins)
  • Range (6 mins)
  • Str.split (7 mins)
  • str.join (5 mins)
  • Exercise 6 – Pig Latin sentence (2 mins)
  • Solution 6 (6 mins)
  • Adding to strings, adding to lists (6 mins)
  • Sorting (9 mins)
  • Intro to tuples (6 mins)
  • Tuples are immutable (5 mins)
  • Tuple creation trickiness (7 mins)
  • Unpacking (6 mins)
  • Converting to-from tuples (4 mins)
  • Sorting tuples (3 mins)
  • Exercise 7 – people (2 mins)
  • Solution 7 (7 mins)
  • Intro to dicts (9 mins)
  • Exercise 8 – restaurant (3 mins)
  • Solution 8 (5 mins)
  • Get and setdefault (6 mins)
  • Iterating over a dict (4 mins)
  • Exercise 9 – Rainfall (3 mins)
  • Solution 9 (8 mins)
  • How do dicts work? (10 mins)
  • Intro to sets (5 mins)
  • Lists vs. sets (3 mins)
  • Adding to and removing from sets (4 mins)
  • Exercise 10 – dollar store (2 mins) 
  • Solution 10 (3 mins)
  • Set operations (7 mins)
  • Exercise 11 – spelling bee (2 mins)
  • Solution 11 (3 mins)
  • Conclusion (3 mins)

This Course Is Perfect For...


Experienced developers in a non-Python language who want to start using Python beyond copying from Stack Overflow and ChatGPT


People who have been through a basic Python course before, and want to go beyond the syntax to really understand what's going on and how to use Python effectively




Save 20%


One-Time Purchase (Lifetime Access)
$ 300 One-Time
  • Core syntax
  • Basic data structures
  • Exercises to test your understanding



Access All My Training
$ 40 Per Month
  • All my Python courses
  • Monthly office hours + special events
  • Private forum


One-Time Purchase (Lifetime Access)
$ 300 One-Time
  • Core syntax
  • Basic data structures
  • Exercises to test your understanding



Access All My Training
$ 400 Per Year
  • All my Python courses
  • Monthly office hours + special events
  • Private forum

100% Money Back Guarantee

I’m a one-person company dedicated to improving your career via Python and related technologies. If you haven’t gotten value from any of my courses, then just tell me — and I’ll refund your money.

Meet Your Instructor

Reuven is a full-time Python trainer. In a given year, he teaches courses at companies in the United States, Europe, Israel, India, and China — as well as to people around the world, via his online courses.

Reuven created one of the first 100 Web sites in the world just after graduating from MIT’s computer science department. He opened Lerner Consulting in 1995, and has been offering training services since 1996.

In 2020, Reuven published “Python Workout,” a collection of Python exercises with extensive explanations, published by Manning. He’s currently finishing edits on “Pandas Workout,” a similar collection of exercises using the “Pandas” library for data analytics.

Reuven’s free, weekly “Better developers” newsletter, about Python and software engineering, is read by more than 30,000 developers around the globe. His “Trainer weekly” newsletter is popular among people who give corporate training.

Reuven’s most recent venture is Bamboo Weekly: Every Wednesday, he presents a problem based on current events, using a public data set. And every Thursday, he shared detailed solutions to those problems using Pandas.

Reuven’s monthly column appeared in Linux Journal from 1996 until the magazine’s demise in 2019. He was also a panelist on both the Business of Freelancing and Freelancers Show podcasts.

Reuven has a bachelor’s degree in computer science and engineering from MIT, and a PhD in learning sciences from Northwestern University. He lives in Modi’in, Israel with his wife and three children.