python: 理解__str__

weixin_33782386發表於2017-12-15

在python語言裡,__str__一般是格式是這樣的。

class A:

def __str__(self):

return "this is in str"

事實上,__str__是被print函式呼叫的,一般都是return一個什麼東西。這個東西應該是以字串的形式表現的。如果不是要用str()函式轉換。當你列印一個類的時候,那麼print首先呼叫的就是類裡面的定義的__str__,比如:str.py

在python語言裡,__str__一般是格式是這樣的。

class A:

def __str__(self):

return "this is in str"

事實上,__str__是被print函式呼叫的,一般都是return一個什麼東西。這個東西應該是以字串的形式表現的。如果不是要用str()函式轉換。當你列印一個類的時候,那麼print首先呼叫的就是類裡面的定義的__str__,比如:str.py


#!/usr/bin/env python

classstrtest:

def__init__(self):

print"init: this is only test"

def__str__(self):

return"str: this is only test"

if__name__ =="__main__":

st=strtest()

print st

$./str.py

init: this is only test

str: this is only test

從上面例子可以看出,當列印strtest的一個例項st的時候,__str__函式被呼叫到。

相關文章