python易誤點——類的私有變量

先舉一個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這樣訪問,但是我不建議你這樣做(你要是非這樣也可以)。

私有變量有什麼好處呢:
最常見的就是良好的封裝性。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章