Python Tutorial #12: File I/O — Reading, Writing, and Working with Data

In the previous tutorial, we learned about error handling. Now let’s learn about file I/O — how to read, write, and work with files in Python. Almost every program needs to work with files. Configuration files, log files, data exports, user uploads — files are everywhere. By the end of this tutorial, you will know how to read and write text files, work with JSON and CSV, use pathlib for modern file system operations, and handle temporary files. ...

April 27, 2026 · 9 min

Python Tutorial #11: Error Handling — try/except, Custom Exceptions, and Patterns

In the previous tutorial, we learned about dataclasses and Pydantic. Now let’s learn about error handling — how to write code that fails gracefully instead of crashing. Every program encounters errors. Files go missing, networks fail, users enter bad data. Good error handling is the difference between a program that crashes with a confusing traceback and one that tells the user what went wrong and how to fix it. By the end of this tutorial, you will know how to catch errors, create custom exceptions, and choose the right error handling pattern. ...

April 27, 2026 · 9 min

Python Tutorial #10: Dataclasses and Pydantic — Modern Data Modeling

In the previous tutorial, we learned about OOP: classes, inheritance, and magic methods. Now let’s learn about dataclasses and Pydantic — modern ways to model data without writing boilerplate code. Regular classes need a lot of repetitive code: __init__, __repr__, __eq__. Dataclasses generate all of this for you. Pydantic adds validation on top. By the end of this tutorial, you will know when to use each one and how they compare. ...

April 26, 2026 · 9 min

Python Tutorial #9: OOP — Classes, Inheritance, and Magic Methods

In the previous tutorial, we learned about modules, packages, and virtual environments. Now let’s learn about object-oriented programming (OOP) — the most important paradigm in Python. OOP lets you group related data and behavior into classes. Instead of passing data between separate functions, you bundle everything together. By the end of this tutorial, you will know how to create classes, use inheritance, write magic methods, and design abstract interfaces. What is a Class? A class is a blueprint for creating objects. An object is an instance of a class. Think of a class like a cookie cutter, and objects are the cookies. ...

April 26, 2026 · 11 min

Python Tutorial #8: Modules, Packages, and Virtual Environments

In the previous tutorial, we mastered strings and regular expressions. Now let’s learn how to organize your code into modules and packages, and how to manage dependencies with virtual environments. This is where Python goes from writing scripts to building real projects. By the end of this tutorial, you will know how to import code, structure a project, install packages, and use modern tools like pyproject.toml and uv. What Is a Module? A module is simply a Python file. When you create a file called math_utils.py, you create a module called math_utils. ...

April 26, 2026 · 9 min

Python Tutorial #7: Strings — Methods, Formatting, and Regex Basics

In the previous tutorial, we learned about lists, dictionaries, sets, and tuples. Now let’s take a deep dive into strings — one of the most used data types in Python. We covered string basics in Tutorial #3. This tutorial goes further: advanced methods, formatting tricks, raw strings, and regular expressions. String Methods Strings have many built-in methods. Here are the most useful ones for daily work. Cleaning Text text = " Hello, World! " print(text.strip()) # "Hello, World!" — remove whitespace from both sides print(text.lstrip()) # "Hello, World! " — left side only print(text.rstrip()) # " Hello, World!" — right side only print(text.lower()) # " hello, world! " print(text.upper()) # " HELLO, WORLD! " A common pattern: strip whitespace and normalize case: ...

April 25, 2026 · 9 min

Python Tutorial #6: Data Structures — Lists, Dicts, Sets, Tuples

In the previous tutorial, we learned about functions. Now let’s learn about Python’s built-in data structures: lists, dictionaries, sets, and tuples. These are the tools you use every day in Python. By the end of this tutorial, you will know how to store, access, and transform collections of data. Lists A list is an ordered, mutable collection. You can add, remove, and change items. fruits = ["apple", "banana", "cherry"] print(fruits[0]) # apple — first item print(fruits[-1]) # cherry — last item print(len(fruits)) # 3 Adding Items fruits.append("date") # Add to end: ["apple", "banana", "cherry", "date"] fruits.insert(1, "avocado") # Insert at index 1: ["apple", "avocado", "banana", ...] fruits.extend(["fig", "grape"]) # Add multiple items to end Removing Items fruits.remove("banana") # Remove by value (first occurrence) last = fruits.pop() # Remove and return last item item = fruits.pop(0) # Remove and return item at index 0 List Slicing Slicing creates a new list from part of an existing list. The syntax is list[start:end:step]: ...

April 25, 2026 · 9 min

Python Tutorial #5: Functions — def, *args, **kwargs, and Lambdas

In the previous tutorial, we learned about control flow: if, for, while, and match/case. Now let’s learn about functions — reusable blocks of code. Functions are the foundation of clean code. They let you write a piece of logic once and use it many times. By the end of this tutorial, you will know how to define functions, use different parameter types, write lambda functions, and understand closures. Defining a Function Use the def keyword to create a function: ...

April 25, 2026 · 9 min

Python Tutorial #4: Control Flow — if, for, while, match

In the previous tutorial, we learned about variables, types, and f-strings. Now let’s learn how to make decisions and repeat actions in Python. Control flow statements let your program choose what to do based on conditions and repeat actions in loops. By the end of this tutorial, you will know how to use if, for, while, match/case, and several useful loop helpers. if, elif, else The if statement runs code only when a condition is true: ...

April 25, 2026 · 9 min

Python Tutorial #3: Variables, Types, and f-Strings

In the previous tutorial, we installed Python and wrote our first program. Now let’s learn about the building blocks of every Python program: variables and types. By the end of this tutorial, you will know how to create variables, work with different data types, format strings with f-strings, and convert between types. Variables in Python A variable stores a value. In Python, you create a variable by assigning a value with =: ...

April 24, 2026 · 9 min