如果 Python 中的内部属性不希望被外部访问,那么就应该在属性名称前加两个下划线。这样,就无法在外部直接访问了。如下:
class Student(object):
def __init__(self, score):
self.__score = score
之后,我们如果直接想通过属性名称调用,就需要使用@property了:
@property
def score(self):
return self._score
如果这样,要增加不少代码,而调用实例名称.score的结果与不加下划线的结果一致。那么,加两个下划线的目的是什么呢