最贊回答 / weixin_慕哥4444959
isinstance(t,Person)print(isinstance(t,Person))isinstance(t,Student)print(isinstance(t,Student))isinstance(t,Teacher)print(isinstance(t,Teacher))TrueFalseTrue
2021-05-19
最新回答 / 慕九州4260586
class P(object):? ? def __init__(self,name):? ? ? ? self.name = nameclass Skill(object):? ? def __init__(self,skill):? ? ? ? self.skill = skill??class F(Skill):? ? def __init__(self,skill):? ? ? ? super(F,self).__init__(skill)? ? ? ? #self.skill = 'footba...
2021-05-18
最新回答 / 慕絲8731815
不會。當你執行r1 = Rational(1, 2)時,只是創建了一個Rational類的實例,并將其賦值給變量r1。這行代碼并不會直接調用__add__方法。__add__方法只有在你使用+運算符來對r1和另一個Rational對象進行相加時才會被調用。例如,當你執行r1 + r2時,__add__方法會被自動調用來執行加法操作。
2021-05-07
最新回答 / Sapce
個人理解:只要重寫了 __str__()方法,不管是打印對象還是打印對象的字符串格式,其調用的都是 __str__()方法,所以顯示的都是格式化的結果。也就是說,print(str(obj)) 和 print(obj) 是一樣的而只有在控制臺(window下的cmd,命令提示符)中,在python環境下直接輸入(不是打?。﹐bj,回車,調用的才是 __repr__()方法。如果沒有重寫該方法,還是會顯示對象所在的地址
2021-05-05