Start here. This is the direct spoken answer to practice first.
Overview
Type hints improve contracts and tooling, but ordinary Python calls do not automatically validate annotated arguments and returns.
Python type hints are annotations that describe intended types for readers and tools. The interpreter normally does not reject a call just because an argument or return value disagrees with an annotation. Static type checkers, editors, and linters can report mismatches before runtime. Runtime libraries and frameworks may inspect annotations and perform validation or dependency wiring, but that behavior comes from the library, not from the annotation alone.