1、str函数,会 return一个字符串
2、当调用print函数,传入一个类的实例,这个类里面定义了_str_函数,这时候就会调用
class A():
def __init__(self,name=9):
self.name=name
def __str__(self):
return ("我是__str__,你调用了我")
#怎么调用__str__方法
a=A(12)__str__类似于Java当中的toString方法,可以根据我们的需要返回实例转化成字符串之后的结果。
比如,我们可以在类当中重载这个方法,就可以根据我们的需要输出结果了:
class point: def __init__(self, x, y): self.x = x self.y = y def __str__(self): return 'x: %s, y: %s' % (self.x, self.y)
当我们运行它,得到的结果会是:
x: 3, y: 4
__str__和__init__,__len__很多函数一样是Python中的特殊函数,在我们创建类的时候,系统会我们隐式创造许多这样的特殊函数。我们可以根据需要重载其中的一部分完成我们想要的功能。比如如果我们写的是一棵二叉树的类,我们还可以在__str__函数当中进行递归遍历所有的节点,打印出完整的树来。