先舉一個python類的例子
class Student(object):
def __init__(self, name, score):
self.name = name
self.score = score
def print_score(self):
print('%s: %s' % (self.name, self.score))
一個學生類,裏面的name和score都是公共變量可以隨便訪問
比如說
s=Student(18,100)
print(s.name)即可訪問name屬性
怎麼像c++定義一個私有屬性呢?
python不提供private,它將變量前面加兩個下劃線變成__name即爲私有變量
此時訪問
s.__name即會報錯
還有一種情況就是加一道下劃線_name,意思是你雖然可以像s._name這樣訪問,但是我不建議你這樣做(你要是非這樣也可以)。
私有變量有什麼好處呢:
最常見的就是良好的封裝性。