This problem originated when I tried to apply a more functional approach to problems in python. What I tried to do is simply square a list of numbers, no biggie.
from operator import pow
from functools import partial
squared = list(map(partial(pow, b=2), range(10))
As it turns out, this didn't work. TypeError: pow() takes no keyword arguments
Confused I checked if pow(b=2, a=3)
did. It didn't.
I've checked the operator source code, nothing suspicious.
Confused, I've begun to doubt my own python knowledge, I made a pow function myself.
def pow(a, b):
return a ** b
Then I tried doing the same thing with my function and surprisingly, everything worked.
I'm not going to guess what is the cause of the problem, what I'm asking is simply why is this a thing and if there exists a workaround.