Python的命名空间等效于dict.get()

时间:2013-06-17 15:52:59

标签: python namespaces

现在我的项目中有以下代码:

if keyword in sample_namespace:
    return sample_namespace[keyword]
else:
    return None

命名空间是从插件内容动态构建的。

如果它是字典而不是命名空间,我可以简单地执行sample_dict.get(keyword),以获得相同的功能。在实现相同的整洁性的同时,有没有办法如何使用命名空间?

1 个答案:

答案 0 :(得分:2)

我认为您正在寻找getattr

return getattr(sample_namespace,keyword,None)

或者,如果您使用的是术语namespacevars(namespace)将返回一个字典,该字典代表命名空间。