I need to pass a function as a parameter that works as the boolean "not". I tried something like this but it didn't work because not
isn't a function.
theFunction(callback=not) # Doesn't work :(
I need to do the following, but I wonder if there exists any predefined function that does this simple job, so that I don't have to redefine it like this:
theFunction(callback=lambda b: not b, anotherCallback=lambda b: not b)
Note: I can't change the fact that I have to pass a function like this because it's an API call.
Yes, there is the operator
module: https://docs.python.org/3.6/library/operator.html
import operator
theFunction(callback=operator.not_)
not
is not a function, but a keyword. So that means you can not pass a reference. There are good reasons, since it allows Python to "short circuit" certain expressions.
You can however use the not_
(with underscore) of the operator
package:
from operator import not_
theFunction(callback=not_, anotherCallback=not_)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With