python dictionary key Vs对象属性

python dictionary key Vs对象属性,第1张

概述假设我有对象有关键’dlist0′,属性’row_id’我可以访问为 getattr(dlist0,'row_id') 然后它返回值 但如果我有一本字典 ddict0 = {'row_id':4, 'name':'account_balance'}getattr(ddict0,'row_id') 这不行 我的问题是如何以同样的方式访问ddict0和dlist0 任何人都可以帮助我吗? 字典包含项 假设我有对象有关键’dList0′,属性’row_ID’我可以访问为

getattr(dList0,'row_ID')

然后它返回值
但如果我有一本字典

ddict0 = {'row_ID':4,'name':'account_balance'}getattr(ddict0,'row_ID')

这不行

我的问题是如何以同样的方式访问ddict0和dList0

任何人都可以帮助我吗?

解决方法 字典包含项目,因此使用__getitem __()定义的任何内容来检索键的值.

对象具有属性,因此使用__getattr __()来检索属性的值.

理论上你可以覆盖一个指向另一个,如果你需要 – 但为什么你需要?为什么不写一个辅助函数代替:

Python 2.x:

def get_value(some_thing,some_key):    if type(some_thing) in ('dict','tuple','List'):        return some_thing[some_key]    else:        return getattr(some_thing,some_key)

Python 3.x:

def get_value(some_thing,some_key):    if type(some_thing) in (dict,tuple,List):        return some_thing[some_key]    else:        return getattr(some_thing,some_key)
总结

以上是内存溢出为你收集整理的python dictionary key Vs对象属性全部内容,希望文章能够帮你解决python dictionary key Vs对象属性所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1192398.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存