__getitem__是flask的内置函数,我们自己定义的方法如果是以 __ 开头的话,可以简单的理解为私有方法,也就是说不可以被外界直接通过模型对象调用。在 base.py 中定义的 def getitem(self, item) 方法,是私有的吗,会被子类继承吗,python 中的这种继承应该怎么理解啊。
另外还有一个问题,既然像下面定义以后就可以通过 [] 方式访问对象的属性,为什么 python 不在python的基类中添加这个实现,而需要我们自己去实现呢。因为这个也是一个很通用的获取属性值的方式。
def __getitem__(self, item):
return getattr(self, item)