对于私有变量(双下划线)或者保护变量(单下划线),不允许外部直接访问,类似于Java的private,可以通过对外提供get,set接口来访问和修改这类变量,便于控制。
class Student(object):
def __init__(self, name):
self.name = name
self._score = None
@property
def score(self):
return self._score
@score.setter
def score(self, value):
self._score = value
if __name__ == '__main__':
s = Student('王大锤')
s.score = 100 # 设置保护变量的值
print(s.score) # 访问保护变量