Python中类的__str__方法
介绍一下自定义类的时候__str__方法的作用。这个类方法(__str__())主要的作用是在print(实例)的时候返回你指定的字符串,一般来说在定义类的时候不用重写这个方法的,但是在一些注重交互的模块类的编写上,可能会重写这个类。下面直接进入例子。
我定义一个Car的类,具体代码如下:
class Car():
def __init__(self,name):
self.name = name
接下来我们实例化这个类,并打印这个实例。
A = Car('BNW')
print(A)
我们一般就能看到这样的结果:
<__main__.Car object at 0x000001E359C01640>
这个结果主要是告诉我们这个A是哪一个类(Car类),还有所在内存位置(0x000001E359C01640)
下面我们在Car类中重写__str__方法,再打印这个A,看看会有什么差别。
class Car():
def __init__(self,name):
self.name = name
def __str__(self) -> str:
text = f'这是一辆车,名字是{self.name}'
return text
A = Car('BNW')
print(A)
这是一辆车,名字是BNW
可以看到,这个时候print(实例),将会出现我们指定好的str内容。这就是__str__()方法的用处,不过要注意,这个方法必须要保证返回的是一个str。
以上内容如有错误,恳请指正