亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

這個為什么不對

代碼是這樣的,哪里不對嗎?

class Person(object):
??? def __init__(self, name, score):
??????? self.name=name
??????? self.__sccore=score

p = Person('Bob', 59)

print p.name

print p.__score


正在回答

5 回答

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?'attribute?error'


1 回復 有任何疑惑可以回復我~

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'


0 回復 有任何疑惑可以回復我~

score

0 回復 有任何疑惑可以回復我~

你的代碼是對的,它的答案也是這么做的,因為帶雙下劃線是無法訪問的,所以它顯示運行錯誤,不是因為你的代碼錯了,而是這道題本來就不能運行出來score。

0 回復 有任何疑惑可以回復我~

變量名前加__表示私有屬性,外部不允許直接訪問。

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
python進階
  • 參與學習       255563    人
  • 解答問題       3038    個

學習函數式、模塊和面向對象編程,掌握Python高級程序設計

進入課程

這個為什么不對

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號