Мета __class_getitem__

Оновлено: 28.04.2023

Метою __class_getitem__() є можливість параметризації загальних класів стандартної бібліотеки під час виконання, щоб легше застосовувати підказки типу до цих класів.

Щоб реалізувати користувальницькі загальні класи, які можна параметризувати під час виконання та розуміти статичними засобами перевірки типів, користувачі повинні або успадкувати від класу стандартної бібліотеки, яка вже реалізує __class_getitem__(), або успадкувати від typing. Generic, який має власну реалізацію __class_getitem__().

Спеціальні реалізації __class_getitem__() у класах, визначених за межами стандартної бібліотеки, можуть бути не зрозумілі сторонніми засобами перевірки типів, такими як mypy. Не рекомендується використовувати __class_getitem__() для будь-якого класу для цілей, відмінних від підказки типу.