Python中的 two special methods 描述
发布时间
阅读量:
阅读量
正文
在Python语言中,类的__repr__与__str__方法常常令开发者感到困惑。经过归纳整理,以下几点内容值得特别关注:
- 当
__repr__方法被实现,而未定义__str__方法时,后者将默认采用前者的实现方式。 __repr__方法主要负责对类内部属性进行明确且详细的描述。__str__方法则更加注重输出结果的可读性,而非强调不同对象之间的区分度。例如,“1”与整数类型1虽然在本质上存在差异,但在实际打印过程中无法加以区分。- 在常规的打印操作中,系统会调用
__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)
还没有任何评论哟~
