TODO
def __getitem__(self, item):
if isinstance(item, six.string_types):
return self.get_by_name(item)
elif isinstance(item, (list, tuple)):
return [self[it] for it in item]
return self._values[item]
def __setitem__(self, key, value):
if isinstance(key, six.string_types):
self.set_by_name(key, value)
else:
self._set(key, value)
def __getattr__(self, item):
if item == '_name_indexes':
return object.__getattribute__(self, item)
if hasattr(self, '_name_indexes') and item in self._name_indexes:
return self.get_by_name(item)
return object.__getattribute__(self, item)
def __setattr__(self, key, value):
if hasattr(self, '_name_indexes') and key in self._name_indexes:
self.set_by_name(key, value)
else:
object.__setattr__(self, key, value)
Python类方法详解
本文深入探讨了Python中类方法的实现细节,包括__getitem__、__setitem__、__getattr__和__setattr__方法的使用场景及代码示例。通过这些方法,可以实现对类属性的灵活操作和管理。
241

被折叠的 条评论
为什么被折叠?



