Modules and Advanced Concepts: Annotations

Join the AI Workshop to learn more about AI and how it can be applied to web development. Next cohort February 1st, 2026

The AI-first Web Development BOOTCAMP cohort starts February 24th, 2026. 10 weeks of intensive training and hands-on projects.


Python is dynamically typed. We do not have to specify the type of a variable or function parameter, or a function return value.

Annotations allow us to (optionally) do that.

This is a function without annotations:

def increment(n):
    return n + 1

This is the same function with annotations:

def increment(n: int) -> int:
    return n + 1

You can also annotate variables:

count: int = 0

Python will ignore those annotations. A separate tool called mypy can be run standalone, or integrated by IDE like VS Code or PyCharm to automatically check for type errors statically, while you are coding, and it will help you catch type mismatch bugs before even running the code.

A great help especially when your software becomes large and you need to refactor your code.

Lessons in this unit:

0: Introduction
1: Modules
2: The Standard Library
3: Installing packages with pip
4: Virtual environments
5: Variables scope
6: Decorators
7: Docstrings
8: Introspection
9: ▶︎ Annotations