__str__(self) 将对象转换成字符串
此方法在类中定义,通过类创建一个对象后,==str(对象)==将自动执行对象所指向的类中的__str__()方法,
class Foo:
def __init__(self):
print("__init__test")
def __call__(self, *args, **kwargs):
print("call test")
def __int__(self):
return 1234
def __str__(self):
return "__str__method-test"
obj = Foo()
print(str(obj))
"""
__init__test
__str__method-test
"""
如上所示,会自动执行类中的“__str__()”方法
print(对象),会执行内部的str方法
class Foo:
def __init__(self,name,age):
self.name = name
print("__init__test")
def __call__(self, *args, **kwargs):
print("call test")
def __int__(self):
return 1234
def __str__(self):
return self.name
obj = Foo("Elon Musk",38)
print(obj)
"""
__init__test
Elon Musk
"""
print(obj) / str(obj) obj中的__str__方法,并获取其返回值