我们面对一些相似的事物时,可以想给它们定义一个名称。为了能在日后的使用中不会混淆,可以加入参数进行区分,这就是对于重载的理解。今天同样为大家继续讲述魔法函数中的内容,常见的_str_的使用想必大家已经学过了,这里我们就_str_在python中进行重载的方法给大家带来分享。
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__函数当中进行递归遍历所有的节点,打印出完整的树来。
以上就是_str_在python中进行重载的方法了,在开始重载之前,对_str_基本使用还不会的,可以看看我们上面的代码模块。