欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

python类中的__str__以及__repr__

程序员文章站 2023-11-21 22:55:58
一.\_\_str\_\_ 打印时触发 二.\_\_ repr\_\_ str函数或者print函数 obj.__str__() repr或者交互式解释器 obj.__repr__() str函数或者print函数如果\_\_str\_\_没有被定义,那么就会使用\_\_repr\_\_来代替输出 ......

一.__str__

  • 打印时触发
class a:
    def __str__(self):
        #打印时候执行的代码块
        return 'ok'  # 如果不返回字符串类型,则会报错
print(a())  #相当于 print(a().__str__()) # 打印的时候就是在打印返回值

二.__ repr__

  • str函数或者print函数--->obj.__str__()
  • repr或者交互式解释器--->obj.__repr__()
  • str函数或者print函数如果__str__没有被定义,那么就会使用__repr__来代替输出
  • str函数或者print函数如果__str__被定义,那么__repr__就不会执行
  • 注意:这俩方法的返回值必须是字符串,否则抛出异常