Skip to content

Python Annotations

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.


→ Here's my latest YouTube video

→ Get my Python Handbook
→ Get my Python Handbook

→ I wrote 17 books to help you become a better developer, download them all at $0 cost by joining my newsletter

JOIN MY CODING BOOTCAMP, an amazing cohort course that will be a huge step up in your coding career - covering React, Next.js - next edition February 2025

Bootcamp 2025

Join the waiting list