🔨 functools.partial(func, /, *args, **keywords)


functools.partial

📍 Повертає новий частковий об’єкт, який під час виклику поводитиметься як func, що викликається з позиційними аргументами argsі ключовими аргументами keywords. Якщо до виклику надається більше аргументів, вони додаються до args. Якщо надаються додаткові ключові аргументи, вони розширюють і замінюють ключові слова.

📌 Примітка. Більшість функцій планування asyncio не дозволяють передавати ключові аргументи. Для цього скористайтеся functools.partial():

# will schedule "print("Hello", flush=True)"
loop.call_soon(
   functools.partial(print, "Hello", flush=True)
   )

🎧 Використання часткових об’єктів зазвичай зручніше, ніж використання лямбда-виразів, оскільки asyncio може краще відтворювати часткові об’єкти в повідомленнях про налагодження та помилки.

# лямбда-вираз
loop.call_soon(
   lambda : print("Hello")
   )