试图弄清楚这段代码是如何工作的。
我知道 **kwargs
返回一个字典,而 get()
函数在字典中搜索给定的键,如果找不到则返回默认值。但是在代码中,我不明白 get()
方法是否正在搜索例如:“clock”或 self.clock 或两者。
def update(self, *args, **kwargs):
self.screen = kwargs.get("screen",self.screen)
self.clock = kwargs.get("clock",self.clock)
self.active = kwargs.get("active",self.active)
以下是对此方法的调用示例:
debug.update(active = numActive)
据我了解,变量 numActive
通过更新方法作为活动传递,然后作为 **kwargs
然后通过 get()
方法搜索难道我不能删除 kwargs
的使用吗?我知道需要多少参数?
感谢您对理解的任何帮助。
原文由 Tazz B 发布,翻译遵循 CC BY-SA 4.0 许可协议
get 方法中的第二个参数是默认值。
根据 Python2.7 的文档:
来源: https ://docs.python.org/2/library/stdtypes.html#dict.get
说明 当您尝试从字典中“获取”某些内容时,如果找不到键,或者值为 None,它将返回 None。
但是,如果您提供第二个参数(默认值), 当且仅当 找不到密钥时,才会返回默认值。
没有默认值的示例
对于以下代码:
你会得到输出:
默认值示例
对于以下代码
你会得到输出:
查看您的代码
我将在评论中解释您的代码:
希望这可以帮助。干杯。