означает ли это, что они предназначены для ясности кода
Да, код подсказки типа обычно легче читать и понимать.
Вы также можете использовать сторонние инструменты проверить свой код. Для этого можно использовать два инструмента: mypy и pyre .
Если у вас есть модуль с именем example.py
:
def foo(bar: int) -> str:
return str(bar)
foo("hello, world")
foo(1)
foo(b'\x00')
Вы можете проверить это так:
$ mypy example.py
example.py:5: error: Argument 1 to "foo" has incompatible type "str"; expected "int"
example.py:7: error: Argument 1 to "foo" has incompatible type "bytes"; expected "int"
Found 2 errors in 1 file (checked 1 source file)