Помимо того, что было описано в первой и второй части, вы можете создавать особые типы, псевдонимы и использовать обобщения.
Псевдонимы создаются так же, как и переменные,
name = type.Особые типы создаются при помощи NewType, на вход он принимает название и тип, который хранит.
Обобщения хранят в себе объекты, тип которых сразу неизвестен. Создавать собственные дженерики можно с помощью Generic и TypeVar.
Это — ещё не все. Подробнее вы, как обычно, можете почитать в документации.
#теория
