我们面对一些相似的事物时,可以想给它们定义一个名称。为了能在日后的使用中不会混淆,可以加入参数进行区分,这就是对于重载的理解。今天同样为大家继续讲述魔法函数中的内容,常见的_str_的使用想必大家已经学过了,这里我们就_str_在python中进行重载的方法给大家带来分享。
1.str函数,会 return一个字符串
2.当调用print函数,传入一个类的实例,这个类里面定义了_str_函数,这时候就会调用
classA(): def__init__(self,name=9): self.name=name def__str__(self): return("我是__str__,你调用了我") #怎么调用__str__方法 a=A(12)
__str__类似于Java当中的toString方法,可以根据我们的需要返回实例转化成字符串之后的结果。
比如,我们可以在类当中重载这个方法,就可以根据我们的需要输出结果了:
classpoint: 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_基本使用还不会的,可以看看我们上面的代码模块。