Necesito pasar una función como parámetro que funcione como el booleano "no". Intenté algo como esto pero no funcionó porque not es una función.
theFunction(callback=not) # Doesn't work :(Necesito hacer lo siguiente, pero me pregunto si existe alguna función predefinida que haga este trabajo simple , para que no tenga que redefinirla así:
theFunction(callback=lambda b: not b, anotherCallback=lambda b: not b)Nota: no puedo cambiar el hecho de que tengo que pasar una función como esta porque es una llamada a la API.
Sí, existe el módulo de operator : https://docs.python.org/3.6/library/operator.html
import operator theFunction(callback=operator.not_)not es una función , sino una palabra clave. Entonces eso significa que no puedes pasar una referencia. Hay buenas razones, ya que le permite a Python " cortocircuitar " ciertas expresiones.
Sin embargo, puede usar el not_ (con guión bajo) del paquete del operator :
from operator import not_ theFunction(callback= not_ , anotherCallback= not_ )