Python Разработка | Web Backend, Парсинг & Telegram Bots. Пайтон программирование с нуля. Django, FastAPI и SQL. Уроки для начинающих и IT карьера. Coding.
Образование · 16 апреля 2026 г.
Иногда нужно создать функцию на основе более универсальной. — 16 апреля 2026 г. в 18:12:41.839
Иногда нужно создать функцию на основе более универсальной. Например, у функции int() есть параметр base, который мы хотим зафиксировать, чтобы получить новую функцию base2: >>> int("10") 10 >>> int("10", 2) 2 >>> def base2(x): ... return int(x, 2) ... >>> base2("10") 2 functools.partial позволяет сделать то же самое, но точнее и семантически понятнее: base2 = partial(int, base=2) Это полезно, когда нужно передать функцию как аргумент другой, более общей функции, но при этом некоторые аргументы должны быть зафиксированы: >>> map(partial(int, base=2), ["1", "10", "100"]) [1, 2, 4] Без partial пришлось бы делать так: >>> map(lambda x: int(x, base=2), ["1", "10", "100"]) [1, 2, 4] 👉 @BookPython

