base.py 中 __getitem__ 方法的继承
来源:7-7 完善序列化
abulaka
2019-03-27
__getitem__是flask的内置函数,我们自己定义的方法如果是以 __ 开头的话,可以简单的理解为私有方法,也就是说不可以被外界直接通过模型对象调用。在 base.py 中定义的 def getitem(self, item) 方法,是私有的吗,会被子类继承吗,python 中的这种继承应该怎么理解啊。
另外还有一个问题,既然像下面定义以后就可以通过 [] 方式访问对象的属性,为什么 python 不在python的基类中添加这个实现,而需要我们自己去实现呢。因为这个也是一个很通用的获取属性值的方式。
def __getitem__(self, item):
return getattr(self, item)
写回答
1回答
-
7七月
2019-03-28
python的很对集合类里都有这个模式方法。这相当于是覆盖和重写。用来实现自己的业务逻辑。
方法都是可以被继承的呀,python没有private的概念。。。。 java里private不能被继承,protected可以。
022019-03-28
相似问题
继承的问题
回答 1