這個為什么不對
代碼是這樣的,哪里不對嗎?
class Person(object):
??? def __init__(self, name, score):
??????? self.name=name
??????? self.__sccore=score
p = Person('Bob', 59)
print p.name
print p.__score
代碼是這樣的,哪里不對嗎?
class Person(object):
??? def __init__(self, name, score):
??????? self.name=name
??????? self.__sccore=score
p = Person('Bob', 59)
print p.name
print p.__score
2019-08-02
舉報
2019-10-11
2020-04-16
class Person(object):
? ? def __init__(self, name, score):
? ? ? ? self.name = name
? ? ? ? self.__score = score
p = Person('Bob', 59)
print p.name
try:
? ? print p.__score
except AttributeError:
? ? print 'AttributeError'
2019-10-11
score
2019-10-11
你的代碼是對的,它的答案也是這么做的,因為帶雙下劃線是無法訪問的,所以它顯示運行錯誤,不是因為你的代碼錯了,而是這道題本來就不能運行出來score。
2019-08-02
變量名前加__表示私有屬性,外部不允許直接訪問。