Introduction to Type Annotations in Python
Lesson Introduction
Welcome to learning about type annotations in Python! Understanding type annotations can significantly improve the readability and maintainability of your code. By providing explicit types for your variables and function parameters, you not only help yourself but also others who might be reading your code understand your intentions more clearly. Our goal today is to ensure you are comfortable with the syntax and usage of type annotations in Python.
What are Type Annotations?
Type annotations explicitly specify the data types of variables, function parameters, and return values. While Python is dynamically typed, meaning it doesn't require explicit data types, adding type annotations is beneficial:
- Code Clarity: Makes your code more readable.
- Error Prevention: Helps catch errors early with tools like
mypy. - Documentation: Serves as documentation for your code's data types.
Basic Syntax of Type Annotations
Let's break down the basic syntax using the add function.
Without type annotations:
With type annotations:
In the function signature def add(a: int, b: int) -> int::
a: intindicatesashould be anint.b: intindicatesbshould be anint.-> intspecifies the function returns anint.
Annotating Variables
You can also annotate variables outside of functions to ensure their expected types:
Here, x and y are explicitly annotated as integers, clarifying their types.
Practical Example with Functions
Let's look at another example. Consider a function that greets a user:
name: strindicatesnameshould be astr.-> strspecifies the function returns astr.
Example:
