繁体   English   中英

Python - 在字典中访问对象属性

[英]Python - Access object attributes as in a dictionary

>>> my_object.name = 'stuff'
>>> my_str = 'name'
>>> my_object[my_str] # won't work because it's not a dictionary :)

如何访问my_str定义的my_object的字段?

getattr(my_object, my_str)

或者,如果您不确定该名称是否作为键存在并且想要提供后备而不是抛出异常:

getattr(my_object, my_str, "Could not find anything")

有关 getattr 的更多信息。

您可以通过定义一小组方法(主要是getitemsetitem )来为您的类的对象提供对[]运算符的支持。 请参阅文档中的下几个条目以了解其他一些要实施的条目,以获得全面支持。

>>> myobject.__dict__[my_str]
'stuff'

一般来说,你不能使用__dict__方法。 永远有效的是

getattr(myobject, my_str)

如果您想要类似 dict 的访问,只需定义一个具有重载索引运算符的类。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM