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

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

關于實例p1,p2的指向

class Programer(object): ? ?def __init__(self,name,age): ? ? ? ?self.name = name ? ? ? ?if isinstance(age, int): ? ? ? ? ? ?self.age = age ? ? ? ?else: ? ? ? ? ? ?raise Exception('age must be int') ? ?def __eq__(self, other): ? ? ? ?if isinstance(other, Programer): ? ? ? ? ? ?if self.age == other.age: ? ? ? ? ? ? ? ?return Ture ? ? ? ? ? ?else: ? ? ? ? ? ? ? ?return False ? ? ? ?else: ? ? ? ? ? ?raise Exception('the type of object must be Programer') ? ?def __add__(self, other): ? ? ? ?if isinstance(other,Programer): ? ? ? ? ? ?return self.age + other.age ? ? ? ?else: ? ? ? ? ? ?raise Exception('the type og object must be Programer') if __name__ == '__main__': ? ?p1 = programer('abc', 54) ? ?p2 = programer('bbb', 25) ? ?print p1 == p2 ? ?print p1.age + p2.age?

?關鍵點不明白,p1,p2都是 Programer 的實例,當調用 __eq__ 和 __add__ 方法的時候,self 是 指的實例, 為什么是 p1 而不是 p2 , ? p2 又是如何 被傳進去變成 other 的 還望老師解答一二

正在回答

1 回答

self也可以是p2啊,兩個實例運算,它會在當前類中找出重寫的方法進行計算,沒有的話就會在父類尋找

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

舉報

0/150
提交
取消

關于實例p1,p2的指向

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

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

幫助反饋 APP下載

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

公眾號

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