你要
if 'errormessage' in kwargs: print("found it")获得价值
errormessage
if 'errormessage' in kwargs: print("errormessage equals " + kwargs.get("errormessage"))这样,
kwargs只是另一个
dict。您的第一个示例,
if kwargs['errormessage']意思是“获取与kwargs中的键“
errormessage”关联的值,然后检查其bool值”。因此,如果没有这样的密钥,您将得到一个
KeyError。
第二个示例,
if errormessage in kwargs:表示“如果
kwargs包含以”命名的元素
errormessage,并且除非“
errormessage”是变量的名称,否则您将获得
NameError。
我应该提到的是,字典还具有一个
.get()接受默认参数(本身默认为
None)的方法,以便
kwargs.get("errormessage")在该键存在时返回值,None否则返回值(类似地
kwargs.get("errormessage",17),您可能会认为这样做)。当您不关心键的存在与拥有None值或键不存在之间的区别时,这会很方便。



