前一段時間我問了一個問題,很多人建議我將__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編程方式?
前一段時間我問了一個問題,很多人建議我將__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編程方式?
__str__()
是str()
如果存在的鉤子方法。如果沒有定義這種方法,str()
函數將回退到合理的默認值。掛鉤在那裏覆蓋默認行爲,並且你不應該假設它們總是被實現。
此外,只使用可調用的str()
更具可讀性。
這是少打字,代碼更容易閱讀。
謝謝你的回答! – Vor