目前在學習class,在網上看到__str__用處是,再以后print這個類的時候會自動呼叫__str__下面的return,但是不太明白為啥一定要retrun str(self.value)呢?為什么不能用Int或者float?
class student:
def __init__(self, value, next=0):
self.value=https://bbs.csdn.net/topics/value
self.next=next
def __str__(self):
return int(self.value)
uj5u.com熱心網友回復:
不一定非要str吧,看你求出的是什么,不過str更寬泛,比如你生成的不是一個數字,int或float會出錯uj5u.com熱心網友回復:
萬一有些不能轉換呢uj5u.com熱心網友回復:
python是基于協議的. 無論是__init__, 還是__str__或者是計算長度的__len__都是一種協議, 一種非正式介面, 需要共同遵守. 假設你用了int或float, 用戶在使用你的類的時候, 會出現莫名其妙的錯誤.轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/254145.html
