Python
Python List Slicing: Syntax, Examples, and a Visualizer
by Lane Wagner - Boot.dev co-founder and backend engineer
Learn Python list slicing with an interactive visualizer. See how start, stop, step, negative indexes, copying, out-of-range bounds, and assignment work.
Python Type Hints: Syntax and Examples for Beginners
by Maya Chen - Computer science and programming educator at Boot.dev
Learn Python type hint syntax for variables, functions, lists, dictionaries, tuples, optional values, and static checking with practical examples.
Python F-Strings: Syntax, Examples, and Formatting
by Lane Wagner - Boot.dev co-founder and backend engineer
Learn Python f-string syntax with examples for variables, expressions, decimals, percentages, padding, alignment, dates, debugging, and escaped braces.
12 Python Practice Problems for Beginners (With Solutions)
by Boot.dev Team - Programming course authors and video producers
Practice Python with 12 beginner-friendly problems covering functions, loops, lists, dictionaries, sets, and unit tests. Each exercise includes a solution.
17 Fascinating Python Projects for Beginners
by Zulie Rane - Data analysis and computer science techincal author
Explore 17 Python projects for beginners, from text adventures and Django apps to data analysis with NASA, AWS, and TidyTuesday datasets.
Python Bitwise AND and OR Operators
by Lane Wagner - Boot.dev co-founder and backend engineer
Bitwise operators are similar to logical operators, but instead of operating on boolean values, they apply the same logic to all the bits in a value by column. The two operators covered here are & (AND) and | (OR).
Python Break vs Continue: What's the Difference?
by Lane Wagner - Boot.dev co-founder and backend engineer
Sometimes, while looping through a sequence, you may find items that you want to skip. Python provides a way to do this: the continue statement. But what if you want to exit the loop entirely? That's where the break statement comes in.
Python Default Parameters: How They Work
by Lane Wagner - Boot.dev co-founder and backend engineer
In Python you can specify a default value for a function parameter. It's useful when a function has parameters that are "optional." You can specify a default value in case the caller doesn't provide one.
Python / vs //: Floor Division Explained
by Lane Wagner - Boot.dev co-founder and backend engineer
Python has two division operators: / performs regular division, while // performs floor division.
How to Return Multiple Values in Python
by Lane Wagner - Boot.dev co-founder and backend engineer
A Python function can return more than one value by separating them with commas.
Closures in Python: How They Capture State
by Boot.dev Team - Programming course authors and video producers
A [closure]() is a function that references variables from outside its own function body. The function definition and its environment are bundled together into a single entity, so it keeps track of some values from the place where it was defined, no matter where it's executed later on.
Currying in Python: Transform Multi-Arg Functions
by Boot.dev Team - Programming course authors and video producers
Function currying is a specific kind of function transformation, where we translate a single function that accepts multiple arguments into multiple functions that each accept a single argument. It relies on higher-order functions.
What Is Functional Programming in Python? A Complete Guide
by Boot.dev Team - Programming course authors and video producers
Functional programming is a style of programming where we compose functions instead of mutating state (updating the values of variables). While Python is best known for object-oriented programming, it also fully supports functional concepts like first-class functions, immutability, and pure functions. Learning to think functionally is one of the fastest ways to write cleaner, more maintainable code, no matter which language you end up working in.
Higher-Order Functions in Python
by Boot.dev Team - Programming course authors and video producers
In Python, functions are just values, like strings, integers, or objects. A programming language "supports first-class functions" when functions are treated like any other variable. That means functions can be passed as arguments to other functions, can be returned by other functions, and can be assigned to variables. Functions that accept other functions as arguments or return functions are called higher-order functions, and they power built-ins like map(), filter(), and reduce().
Pure Functions in Python: A Complete Beginner Guide
by Boot.dev Team - Programming course authors and video producers
If you take nothing else away from this article, please take this: pure functions are fantastic. A pure function has exactly two properties: it always returns the same value given the same arguments (it's deterministic), and running it causes no [side effects](). In short: pure functions don't do anything with anything that exists outside of their scope.
Python Decorators: A Complete Guide With Code Examples
by Boot.dev Team - Programming course authors and video producers
Remember function transformations, where a higher-order function takes a function and returns a function with new behavior? Python decorators offer a kind of syntactic sugar around that. ("Syntactic sugar" just means "a more convenient syntax.") In this guide you'll learn what decorators are, how args and kwargs let them wrap any function, how to write decorators that take arguments, and how to use functools.lrucache for memoization.
Recursion in Python: A Beginner's Guide
by Boot.dev Team - Programming course authors and video producers
[Recursion]() is a famously tricky concept to grasp, but it's honestly quite simple, so don't let it intimidate you. A recursive function is just a function that calls itself.
Sum Types in Python: Using Enums, Unions, and Match
by Boot.dev Team - Programming course authors and video producers
Sum types are a staple of functional programming, but Python doesn't really support them. We have to use a workaround and invent our own little system and enforce it ourselves.
Python Classes and Objects: A Practical Beginner Guide
by Lane Wagner - Boot.dev co-founder and backend engineer
If classes and objects still feel slippery, you're not crazy. Most tutorials either go too abstract or drown you in weird examples. The practical way to learn OOP is simple: understand how data and behavior stick together, then build small objects that are easy to reason about.
Clean Code in Python: Write Readable, Maintainable Code
by Lane Wagner - Boot.dev co-founder and backend engineer
If you ask ten developers for a definition of clean code, you will get twelve answers and one argument in the comments. Still, most of us agree on the practical goal: write code that other humans can understand quickly and change safely. That matters way more than writing clever one-liners that only make sense to your past self at 2 AM.
Python Encapsulation vs Abstraction: What Matters
by Lane Wagner - Boot.dev co-founder and backend engineer
If classes and objects are the "what" of OOP, encapsulation and abstraction are the "how." They're how you keep code understandable after the project gets big, your team grows, and six months pass. They sound similar because they're close cousins, but they solve slightly different pains.
Python Inheritance: When to Use It and Skip It
by Lane Wagner - Boot.dev co-founder and backend engineer
Inheritance is one of those OOP tools that feels magical on day one and dangerous on day thirty. Used well, it removes duplication and keeps models clean. Used badly, it creates class trees no one wants to touch.
Python Polymorphism: One Interface, Many Behaviors
by Lane Wagner - Boot.dev co-founder and backend engineer
Polymorphism is where OOP starts to feel truly powerful. You stop writing giant if type == ... trees and start trusting shared interfaces. Different objects respond to the same method call in different ways, and your calling code stays clean.
Python Exceptions: Try, Except, and Raise
by Lane Wagner - Boot.dev co-founder and backend engineer
Python has two kinds of errors: syntax errors that prevent your code from running at all, and exceptions that happen while your code is executing. Knowing how to handle exceptions with try/except and how to raise your own is a core skill for writing reliable programs.
Python Sets: What They Are and How to Use Them
by Lane Wagner - Boot.dev co-founder and backend engineer
Sets are like lists, but with two key differences: they are unordered and they guarantee uniqueness. Only one of each value can exist in a set. If you need to track unique items or remove duplicates, sets are the tool for the job.
