Python中class的內置函數__str__


在python中,如果我們定義一個class:
class Friend():
def __init__(self, name):
self.name = name

if __name__ == '__main__':
friend = Friend('Liang')
print friend
那麼在申明一個實例對象friend並打印其信息時,python返回的是它的存儲地址
<__main__ .Friend instance at 0x7ff3596c>
到底應該怎麼做才能打印出一個對象的有感內容呢?可以通過__str__函數
class Friend():
def __init__(self, name):
self.name = name

def __str__(self):
return "Friend : %s" % self.name

if __name__ == '__main__':
friend = Friend('Liang')
print friend
此時,打印出的內容爲:
Friend name : Liang
顯然的,內置函數帶來了這種便利,理所當然要有所約束,那就是這個方法只能返回str,並且只能有self這一個參數,其他的,自行發揮。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章