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

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

為什么屬性名字(score)和__score可以不一樣呢?

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

感覺寫成這樣才對吧?

self.__score?=?score
self.__score?=?__score

這兩種有沒有區別呢?

正在回答

4 回答

? ? ? ? ? ? ? ? ?'self.__score'中的'__score'是你自己定的屬性名,想寫啥都行,有雙下劃綫只表示不能外部訪問,你可以寫成'self.__a',一樣的。但是后面'=__score'的'__score'是參變量,是在def ?__init__()時定義的變量,你括號里的變量名是什么,這個名字就是什么

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

是不是說的類屬性和實例屬性重名的問題?

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

形參名字定義為 __name傳過來,是胡來。雙下劃線開頭的,都是默認類的private變量,外部不能直接訪問的。

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

name也是參數名字,怎么能一樣

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

隨口一說 提問者

這個和name有什么關系。。我是想問score和__score。。
2015-04-02 回復 有任何疑惑可以回復我~

舉報

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

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

進入課程

為什么屬性名字(score)和__score可以不一樣呢?

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

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

幫助反饋 APP下載

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

公眾號

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