Advertisement

Python中的 two special methods 描述

阅读量:

正文

在Python语言中,类的__repr____str__方法常常令开发者感到困惑。经过归纳整理,以下几点内容值得特别关注:

  1. __repr__方法被实现,而未定义__str__方法时,后者将默认采用前者的实现方式。
  2. __repr__方法主要负责对类内部属性进行明确且详细的描述。
  3. __str__方法则更加注重输出结果的可读性,而非强调不同对象之间的区分度。例如,“1”与整数类型1虽然在本质上存在差异,但在实际打印过程中无法加以区分。
  4. 在常规的打印操作中,系统会调用__str__方法;然而,在字典等数据结构中,则会优先使用__repr__方法。具体示例可参考以下代码片段。
复制代码
    import dataclasses
    
    @dataclasses.dataclass
    class Car:
      wheels: int
    
      def __repr__(self):
    return f"repr is {self.wheels}"
    
      def __str__(self):
    return f"str is {self.wheels}"
    
    c = Car(5)
    print(c)
    

全部评论 (0)

还没有任何评论哟~