已采納回答 / Zobeltitz
首先調(diào)用add函數(shù)實(shí)在創(chuàng)建Rational類(lèi)之后的,所以在調(diào)用這個(gè)函數(shù)的時(shí)候Rational已經(jīng)創(chuàng)建完了,不會(huì)出現(xiàn)問(wèn)題Rational()是創(chuàng)建一個(gè)Rational類(lèi)型的對(duì)象,調(diào)用的是__init__構(gòu)造方法,這個(gè)函數(shù)返回一個(gè)Rational類(lèi)型的對(duì)象,這個(gè)對(duì)象是運(yùn)算結(jié)果
2020-10-22
已采納回答 / Zobeltitz
在自己自定義的類(lèi)中的這兩個(gè)方法繼承自O(shè)bject類(lèi),可能不符合自己的需求(比如說(shuō)輸出太難讀了)。所以需要在自己的類(lèi)中重寫(xiě)這兩個(gè)方法,覆蓋繼承的這兩個(gè)方法,執(zhí)行新的功能。(在Python的內(nèi)建數(shù)據(jù)類(lèi)型(字符串,整型等)中應(yīng)該已經(jīng)重寫(xiě)過(guò)這個(gè)方法了)str和repr用戶(hù)和開(kāi)發(fā)者都可以使用,結(jié)果均打印在命令行中。區(qū)別在于這兩個(gè)的函數(shù)的作用的定義,str注重用戶(hù)的可讀性(在某些應(yīng)用里可能會(huì)輸出圖表之類(lèi)的?),repr注重開(kāi)發(fā)和調(diào)試期間的使用(課程中說(shuō):”在終端(Terminal)中直接輸入變量的時(shí)候“,用戶(hù)不太用直...
2020-10-20
最贊回答 / 不做實(shí)力派的型男不改昵稱(chēng)
你這完全搞錯(cuò)了,__str__是object對(duì)象的內(nèi)置函數(shù),而str()是python全局的一個(gè)內(nèi)置函數(shù),這兩個(gè)不是一個(gè)函數(shù)在使用? ? ?str(a)? ? ?時(shí)等價(jià)于? ? a.__str__()? ? ? ,即str方法會(huì)去調(diào)用對(duì)象的內(nèi)置函數(shù)__str__.這里你可能會(huì)問(wèn),那為啥不寫(xiě)a.__str__(),而是寫(xiě)成str(a)。因?yàn)榱?xí)慣規(guī)定雙下劃線(xiàn)的為私有級(jí)別,不建議直接調(diào)用,而且個(gè)人覺(jué)得寫(xiě)起來(lái)代碼也不好看
2020-10-20
改了之后就無(wú)法通過(guò)類(lèi)去訪問(wèn)了,只能通過(guò)實(shí)例去訪問(wèn)。
2020-10-14
最贊回答 / 慕粉6398034
線(xiàn)上編譯器的版本不是Python3.X,除法還是和2.X版本一樣只能取整,所以沒(méi)有__truediv__這個(gè)正常除法,只有__div__這個(gè)除法,然而這個(gè)除法如果整數(shù)和整數(shù)除只能向下取整,只有浮點(diǎn)數(shù)和浮點(diǎn)數(shù)或者浮點(diǎn)數(shù)和整數(shù)相除才會(huì)取小數(shù)點(diǎn)之后的數(shù)
2020-09-26
例子中引用循環(huán)變量返回值為函數(shù),所以會(huì)受到循環(huán)變量變化影響,任務(wù)中將返回值進(jìn)行實(shí)際賦值,后續(xù)變量產(chǎn)生變化不對(duì)已賦值變量產(chǎn)生影響,不知道這么理解對(duì)不對(duì)
2020-09-24