Skip to main content
 首页 » 编程设计

python之有什么方法可以在python中使用get with object而不是dict

2025年05月04日15sky-heaven

如果我有字典,这很好用

value = d.get(key, "empty")

但是如果 d 是我的 django 模型对象 那么我得到这个

object has no attribute 'get'

我该如何解决。如果 key 不存在,我希望具有与 dict 相同的行为以变空

请您参考如下方法:

使用getattr():

value = getattr(d, key, "empty") 

另一种选择是直接访问对象的__dict__:

value = d.__dict__.get(key, "empty") 

但我建议使用getattr()。

更新:请注意,getattr(some_dict, key) 与 some_dict.get(key) 不同。 getattr() 获取对象的属性,但不是字典的值。