@abel
В Python дженерики представляют собой одну из особенностей языка, которая позволяет создавать обобщенные классы и функции. Они позволяют создавать код, который может работать с различными типами данных, а не только с конкретным типом.
Дженерики в Python позволяют создавать параметризованные типы данных. Вместо того, чтобы определять конкретный тип данных, дженерик определяет абстрактный тип, который может быть использован для работы с различными типами данных.
Например, вы можете создать функцию, которая принимает список любого типа данных и возвращает список, состоящий только из элементов переданного типа:
1 2 |
def filter_list(lst, item_type): return [item for item in lst if isinstance(item, item_type)] |
Здесь параметр item_type
является дженериком, который определяет тип элементов, которые должны быть возвращены. Вы можете вызывать эту функцию, передавая различные типы данных:
1 2 3 4 5 6 7 |
int_list = [1, 2, 3, "four", "five"] filtered_ints = filter_list(int_list, int) print(filtered_ints) # [1, 2, 3] str_list = [1, 2, 3, "four", "five"] filtered_strs = filter_list(str_list, str) print(filtered_strs) # ["four", "five"] |
Таким образом, дженерики позволяют создавать гибкий код, который может работать с различными типами данных, без необходимости повторного написания кода для каждого типа.