为自己定义每个python类添加__repr__和__str__
Posted gsky
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为自己定义每个python类添加__repr__和__str__相关的知识,希望对你有一定的参考价值。
在类定义里,使用__str__
和__repr__
双下划线能够自行控制类中的字符串转换.
代码示例
class Car:
def __init__(self,color,mileage):
self.color = color
self.mileage = mileage
def __repr__(self):
return (f\'{self.__class__.__name__}(\'
f\'{self.color!r},{self.mileage!r})\')
def __str__(self):
return f\'a {self.color} car\'
my_car = Car(\'blue\',929192)
print(my_car)
#=> a blue car
#=> 如果不定义__str__,则结果为 Car(\'blue\',929192)
__str__
的结果应该是可读的.__repr__
的结果应该是无歧义的,方便开发人员调试.- 如果没有定义
__str__
, 则会默认调用__repr__
Flutter 写的app, 需要源码可以私信~~
- 简繁火星字体转换
- 哄女友神器
- 号码测吉凶
- 电视节目直播表
最好的笔记软件
以上是关于为自己定义每个python类添加__repr__和__str__的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 SWIG 为 C++ 类提供 Python __repr__()