An exploration of partial() and partialmethod() in functools
I’m disappointed that the article doesn’t address why it’s better than just using
lambda
.Why? It’s not better or worse, just different. Lambdas have their use case, as does function partials and wraps.
They are different though, and the article doesn’t go into why they are different, which I think is a major omission (though a common one in articles about this subject).
The difference is that lambda functions are late binding, while partial functions are bound when they are created. This can lead to all sorts of hard to find bugs when using lambdas that are avoided by using partials.
My favorite usage of partial() is when I’m print()ing to a file. So helpful to keep the code readable and easy to change.