52、__str__方法

小白量化 2025-12-12 16:33:57 27 举报

1、__str__方法返回一个字符串,当对象被转换为字符串时,Python会自动调用该方法。

# 示例1
# 未定义__str__方法
class A:
   pass
   
# 实例化对象
a = A()
print(a)
"""控制台输出:<__main__.a object="" at="" 0x0000022241ef18e0="">
是我们看不懂的信息,因为没有定义__str__方法,输出包含类型名称和十六进制内存地址的对象表示"""
# 示例2
# 定义__str__方法
class A:
   def __str__(self):
       return "哈哈哈哈"  # 返回值必须是字符串!
       # return 1233       # TypeError: __str__ returned non-string (type int);不能是其他类型的数据!
       
# 实例化对象
a = A()
print(a)    # 哈哈哈哈  定义了__str__方法,输出__str__方法的返回值

注意:__str__方法必须返回一个字符串

2、__str__方法的作用:

通过定义__str__方法,可以确保输出或记录对象时,输出的是易于理解的信息,而不是默认的、可能不太有用的类型名称和内存地址。这有助于提高代码的可读性和可维护性。

# 示例
class Person:
   def __init__(self, name, age, sex):   
       self.name = name
       self.age = age
       self.sex = sex
       
   def __str__(self):
       return f"姓名:{self.name},年龄:{self.age},性别:{self.sex}"
       
# 实例化对象
p1 = Person("张三", 18, "男")
print(p1)


量化小白,从0开始学量化! 1

著作权归文章作者所有。 未经作者允许禁止转载!

最新回复 ( 0 )
发新帖
0
DEPRECATED: addslashes(): Passing null to parameter #1 ($string) of type string is deprecated (/data/user/htdocs/xiunophp/xiunophp.min.php:48)