Python中类的__str__方法

  介绍一下自定义类的时候__str__方法的作用。这个类方法(__str__())主要的作用是在print(实例)的时候返回你指定的字符串,一般来说在定义类的时候不用重写这个方法的,但是在一些注重交互的模块类的编写上,可能会重写这个类。下面直接进入例子。

  我定义一个Car的类,具体代码如下:

1
2
3
class Car():
    def __init__(self,name):
        self.name = name

  接下来我们实例化这个类,并打印这个实例。

1
2
A = Car('BNW')
print(A)

  我们一般就能看到这样的结果:

<__main__.Car object at 0x000001E359C01640>

  这个结果主要是告诉我们这个A是哪一个类(Car类),还有所在内存位置(0x000001E359C01640)

  下面我们在Car类中重写__str__方法,再打印这个A,看看会有什么差别。

1
2
3
4
5
6
7
8
9
10
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 @   Circle_Wang  阅读(1412)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
点击右上角即可分享
微信分享提示