Você quer
if 'errormessage' in kwargs:
print("found it")
Para obter o valor de errormessage
if 'errormessage' in kwargs:
print("errormessage equals " + kwargs.get("errormessage"))
Dessa forma, kwargs
é apenas mais uma dict
. Seu primeiro exemplo if kwargs['errormessage']
,, significa "obter o valor associado à chave" mensagem de erro "em kwargs e, em seguida, verificar seu valor bool". Portanto, se essa chave não existir, você receberá um KeyError
.
Seu segundo exemplo if errormessage in kwargs:
,, significa "se kwargs
contém o elemento nomeado por" errormessage
"e, a menos que" errormessage
"seja o nome de uma variável, você obterá um NameError
.
Devo mencionar que os dicionários também têm um método .get()
que aceita um parâmetro padrão (ele próprio assumindo o padrão None
), de modo que kwargs.get("errormessage")
retorna o valor se essa chave existir e de None
outra forma (da mesma forma kwargs.get("errormessage", 17)
que você pode pensar que faz). Quando você não se importa com a diferença entre a chave existente e tendo None
como valor ou a chave não existente, isso pode ser útil.