內部屬性不被外部訪問,可以把屬性的名稱前加上兩個下劃線__
,在python中,例項的變數名如果以__
開頭,就變成了乙個私有變數(private),只有內部可以訪問,外部不能訪問
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
了:
>>> bart = student('bart simpson', 98)>>> bart.__name
traceback (most recent call last):
file "", line 1, in attributeerror: 'student' object has no attribute '__name'
這樣就確保了外部**不能隨意修改物件內部的狀態,這樣通過訪問限制的保護,**更加健壯。雙下劃線
python科技限制 python 訪問限制
class person object def run self print self.money print run def eat self,food print eat food def init self,name,age,height,weight,money self.name name...
Python訪問限制
我們可以給乙個例項繫結很多屬性,如果有些屬性不希望被外部訪問到怎麼辦?python對屬性許可權的控制是通過屬性名來實現的,如果乙個屬性由雙下劃線開頭 該屬性就無法被外部訪問。看例子 class person object def init self,name self.name name self....
Python 訪問限制
內部屬性不被外部訪問,可以把屬性的名稱前加上兩個下劃線 在python中,例項的變數名如果以 開頭,就變成了乙個私有變數 private 只有內部可以訪問,外部不能訪問 class student object def init self,name,score self.name name self...