輸入r1之后會(huì)運(yùn)行add函數(shù)嗎?再輸入r2之后會(huì)運(yùn)行add函數(shù)嗎?為什么print r1+r2之后就會(huì)運(yùn)行add函數(shù)呢?
>>>?r1?=?Rational(1,?2) >>>?r2?=?Rational(2,?3) >>>?print(r1?+?r2)
>>>?r1?=?Rational(1,?2) >>>?r2?=?Rational(2,?3) >>>?print(r1?+?r2)
2021-05-07
舉報(bào)
2023-07-11
不會(huì)。當(dāng)你執(zhí)行
r1 = Rational(1, 2)
時(shí),只是創(chuàng)建了一個(gè)Rational
類(lèi)的實(shí)例,并將其賦值給變量r1
。這行代碼并不會(huì)直接調(diào)用__add__
方法。__add__
方法只有在你使用+
運(yùn)算符來(lái)對(duì)r1
和另一個(gè)Rational
對(duì)象進(jìn)行相加時(shí)才會(huì)被調(diào)用。例如,當(dāng)你執(zhí)行r1 + r2
時(shí),__add__
方法會(huì)被自動(dòng)調(diào)用來(lái)執(zhí)行加法操作。2021-05-26
其實(shí)這是算分?jǐn)?shù)的加減乘除的