Usted quiere
if 'errormessage' in kwargs:
print("found it")
Para obtener el valor de errormessage
if 'errormessage' in kwargs:
print("errormessage equals " + kwargs.get("errormessage"))
De esta forma, kwargs
es solo otro dict
. Su primer ejemplo, if kwargs['errormessage']
significa "obtenga el valor asociado con la clave" mensaje de error "en kwargs, y luego verifique su valor bool". Entonces, si no existe tal clave, obtendrá un KeyError
.
Su segundo ejemplo, if errormessage in kwargs:
significa "si kwargs
contiene el elemento nombrado por" errormessage
", y a menos que" errormessage
"sea el nombre de una variable, obtendrá un NameError
.
Debo mencionar que los diccionarios también tienen un método .get()
que acepta un parámetro predeterminado (en sí mismo predeterminado None
), por lo que kwargs.get("errormessage")
devuelve el valor si esa clave existe y de lo None
contrario (de manera similar, kwargs.get("errormessage", 17)
hace lo que podría pensar que hace). Cuando no le importa la diferencia entre la clave existente y que tiene None
como valor o la clave no existe, esto puede ser útil.