2012-12-11 94 views
2

前一段時間我問了一個問題,很多人建議我將__str__()更改爲str(some object)爲什麼使用str()比__str更好__()

例如:

e_address = f_name+l_name+year.__str__()+day.__str__() 

更改爲:

e_address = f_name+l_name+str(year)+str(day) 

所以我的問題是,爲什麼它是更好?是否有任何性能差異,或者是更多pythonic編程方式?

回答

8

__str__()str()如果存在的鉤子方法。如果沒有定義這種方法,str()函數將回退到合理的默認值。掛鉤在那裏覆蓋默認行爲,並且你不應該假設它們總是被實現。

此外,只使用可調用的str()更具可讀性。

+0

謝謝你的回答! – Vor

4

這是少打字,代碼更容易閱讀。

相關問題