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。

 

posted @ 2021-12-07 20:42  Circle_Wang  阅读(1382)  评论(0编辑  收藏  举报