🔨 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")
)