
Learn Python three, not Python two, because Python two is deprecated and a security risk; the course uses Python 3.9 and covers reverse compatibility with newer versions.
Install and verify Python 3.9 across Mac and Windows, download from Python.org, use Terminal or Command Prompt to check versions, and run Python code in the command line.
Learn to run Python code from the terminal across Windows, Linux, and macOS, verify Python 3.9, run files like hello world.py, and use the VS Code terminal to print.
Explore basic arithmetic in Python, including addition, subtraction, division, multiplication, exponents, and modulus, with terminal and Python shell demonstrations; understand floats versus integers and how to quit the shell.
Define and use variables in Python by assigning memory with names, using strings in quotes, and printing values; learn that Python relies on new lines and indentation, not semicolons.
Explore how Python relies on indentation and colon-driven blocks, not curly braces; learn that four spaces or tabs define blocks, use pass for empty blocks, and avoid indentation errors.
Explore Python code comments that do not execute, helping humans understand and document complex code. Use comments to guide you and teammates, and track to-dos with a to-do tree extension.
Explore Python data types, including strings, integers, floats, lists, tuples, sets, dictionaries, booleans, and none, and learn how to create your own data type.
Learn how Python handles numeric data types, including integers and floats, and why mixing numbers with strings causes errors; discover readability tricks like underscores for large numbers.
Explore the string data type in Python, including quotes, single-line and multi-line strings, and methods like upper, lower, print, and type.
Discover how to store multiple values in a list, access and print items, nest lists, and use common list methods like append, remove, and pop to manipulate data.
Learn how to use the dictionary data type in Python, including creating and accessing keys and values, adding and deleting keys, and nesting dictionaries.
Tuples are iterable like lists but immutable, so you cannot sort or modify them; loop through unchanging data using a for loop while gaining memory efficiency and faster performance.
Learn how Python sets store unordered, unique items with curly brace syntax, compare them to lists and dictionaries, and perform add and remove operations, turning lists into sets for uniqueness.
Explore the boolean data type in Python, focusing on true/false values, truthiness, and how if statements, indentation, and comparison operators drive code execution.
Learn how the none data type represents nothing in a variable, how to test it with if wallet is none, and how to assign a value later in Python.
Explore indexing and slicing in Python by working with lists and other iterables, learn zero-based indexing, use slices with the colon, and handle non-subscriptable errors and negative indices.
Explore type casting in Python by converting strings to integers, lists to sets, and other data types, using practical examples with user input and tuples.
Explore Python string formatting by comparing the format method, f-strings, and the older percent-style approach. Practice injecting a variable into a print statement to output a welcome message.
Explore Python comparison operators, including ==, !=, >, <, >=, <=, with if, elif, else chains, user input, and case sensitivity considerations to control program flow.
Explore how booleans drive if statements and Python-like shortcuts in comparison behavior, with None, strings, and empty containers proving true or false, and test with lists, sets, and tuples.
Learn how to use multiple comparison operators in Python, combining conditions with and and or, nesting if statements, and evaluating when both or either conditions are true.
Code with for loops to iterate over lists, tuples, sets, strings, and dictionaries. Learn to print items, use f-strings, apply conditionals, and deconstruct dictionary items into keys and values.
Explore how while loops control execution with a true condition, contrasting them with for loops, and see a practical number printing example that runs until the condition becomes false.
Master break and continue in for and while loops with examples using an items list and modulus to print 1, 3, 5 and stop at 13; prepare for functions.
Explore Python functions, learning how to define with def, pass positional and keyword arguments, use default values, and return values to create reusable code.
Explore Python scope and the rule that variables declared inside a function stay local, causing name errors when accessed externally, and see how parameters and closures shape access.
Set up a simple python local web server using python -m http.server to serve static files on localhost:8000, viewable in a browser, with limitations on post requests and forms.
Learn to generate random choices in Python by importing the random module, using random.choice on a list, and applying these basics to your final project.
Create a rock, paper, scissors game against the computer using Python basics: random choices, a perpetual while loop, user input, print formatting, and win/lose logic with break and continue.
Master beginner Python basics and explore more through Python for everybody courses, and join the free web development community on Facebook for coding tips and support.
Master the in operator in Python to test membership in lists, dictionaries, tuples, and sets, with practical rock-paper-scissors examples and dictionary key checks.
Explore how the not operator in Python inverts boolean values, simplifies conditional logic, and combines with in and not in to test list membership.
Learn how to read files in Python using a context manager with open, read mode, and print results; store content outside the with block for safe, memory-efficient access.
Learn how to write files in Python using a context manager, exploring write and append modes, newlines, tabs, and reading multiple lines.
Learn to read multiple lines from a file in Python, convert them to a list, and filter emails with in and strip. See how this underpins web scraping workflows.
Learn to create and execute Python files from user input, writing dynamic content with a context manager, then optionally read or delete the file, and explore nested functions.
Discover how functions inside functions work in Python, explore scope, nested functions, and the decorator primer for reusable logic.
Learn how to program with Python. Learn how to make Python-based websites with Django.
Who uses Python?
Just about everybody. Python is the 3rd most popular programming language in the world. It's SIGNIFICANTLY more popular than JavaScript!
Pretty much everybody is using Python these days. Google, Netflix, Facebook, your local web development shop... everyone!
It makes sense to learn Python because there's a lot of demand for it.
Who uses Django?
LOADS of organizations use Python. From Nasa, Google and Mozilla, to HUGE websites like Pinterest, Instagram, Dropbox, and Disqus.
So why should you learn Django? Because there's HUGE demand for it, it's incredibly popular, powerful and secure.
Why learn from Kalob Taulien? (that's me!)
I've been writing Python and Django for a number of years now. I'm on the core Wagtail CMS team (Wagtail is Python's #1 most popular content management system) and I'm one of the core leaders in Wagtail-based education. 100% of all my hobby projects use Django these days and I'm a professionally paid web contractor who writes Django. I also like to automate my daily tasks using Python.
Is this course for you?
Better question: is this course NOT for you? I'm only interested in teaching folks who want to learn Python and Django. I answer every question I get in all of my courses and I'm seeking students who are willing to work hard, do the tasks that are at the end of every lesson, and create the 4 main projects in this course.
What are the projects?
Rock, paper, scissors written in Python. You'll play against the computer.
A Pokemon character lookup tool written in Python using an API.
A banking application to keep track of deposits and withdrawals, written in Python.
An Instagram clone written in Django.
A Twitter clone written in Django.
What are the tasks?
Tasks are small "try it out" pieces of homework found at the end of almost every single lesson in this course. The idea is that you watch me write some code, and then you try to do the same for some real experience. Sometimes the tasks are small, sometimes the tasks are big.
Make sure you set aside about 5 extra minutes for every lesson to start and finish every task.
Is the source code included?
Of course it is! Feel free to steal any of my code and use it anyway you like!