python dictionary key Vs对象属性
发布时间:2020-12-20 11:14:27 所属栏目:Python 来源:网络整理
导读:假设我有对象有关键’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) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |