Python中的__repr__()方法
在 Python 中,__repr__()
是一个特殊方法(magic method),用于定义对象的字符串表示形式。当你调用内置函数 repr()
或使用 str()
函数来获取对象的字符串表示时,实际上是调用了对象的 __repr__()
方法。
下面是一个简单的例子,演示了 __repr__()
的用法:
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def __repr__(self):
return f"Person(name={self.name}, age={self.age})"
# 创建一个Person对象
person = Person("Alice", 30)
# 调用repr()函数获取对象的字符串表示
representation = repr(person)
# 输出结果
print(representation) # 输出 Person(name=Alice, age=30)
在这个例子中,Person
类实现了 __repr__()
方法,返回一个字符串,描述了 Person
对象的属性。当我们调用 repr(person)
时,实际上就是调用了 person.__repr__()
。
在实际开发中,实现 __repr__()
方法对于调试和日志记录非常有用。它提供了一个人类可读的字符串表示形式,有助于理解对象的状态。当你在交互式环境中输入对象名称并按回车时,也会调用 __repr__()
方法显示对象的字符串表示。
需要注意的是,__repr__()
方法应该返回一个字符串,这个字符串应该是一个可以通过 eval()
函数重新创建相同对象的表达式。如果没有定义 __repr__()
方法,Python 会尝试调用 __str__()
方法来获取对象的字符串表示,如果也没有定义 __str__()
,则会返回默认的字符串表示。
NLP工程化
1.本公众号以对话系统为中心,专注于Python/C++/CUDA、ML/DL/RL和NLP/KG/DS/LLM领域的技术分享。
2.本公众号Roadmap可查看飞书文档:https://z0yrmerhgi8.feishu.cn/wiki/Zpewwe2T2iCQfwkSyMOcgwdInhf
NLP工程化(公众号)
NLP工程化(知识星球)