第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

帶有雙下劃線的Python方法名稱被覆蓋嗎?

帶有雙下劃線的Python方法名稱被覆蓋嗎?

BIG陽 2019-12-04 14:46:26
看看這個。請注意,該類B會覆蓋A的a()方法。In [1]: class A(object):   ...:     def __init__(self):   ...:         self.a()   ...:     def a(self):   ...:         print "A.a()"   ...:            ...:         In [2]: class B(A):   ...:     def __init__(self):   ...:         super(B, self).__init__()   ...:     def a(self):   ...:         print "B.a()"   ...:            ...:         In [3]: b = B()B.a()沒有驚喜。現(xiàn)在,看看這個。請注意,現(xiàn)在被覆蓋的方法是__a()。In [7]: class A(object):   ...:     def __init__(self):   ...:         self.__a()   ...:     def __a(self):   ...:         print "A.__a()"   ...:            ...:         In [8]: class B(A):   ...:     def __init__(self):   ...:         super(B, self).__init__()   ...:     def __a(self):   ...:         print "B.__a()"   ...:            ...:         In [9]: b = B()A.__a()這種行為使我感到驚訝。誰能解釋為什么A.__a()被稱為而不是B.__a()?什么__special__約__a?更新:閱讀了肖恩的答案后,我想看看是否可以覆蓋名稱混亂的方法并得到以下結(jié)果:In [11]: class B(A):   ....:     def __init__(self):   ....:         super(B, self).__init__()   ....:     def _A__a(self):   ....:         print "B._A__a()"   ....:            ....:         In [12]: b = B()B._A__a()
查看完整描述

2 回答

  • 2 回答
  • 0 關注
  • 542 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號