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工程化(知识星球)

posted on 2024-01-14 23:17  扫地升  阅读(165)  评论(0编辑  收藏  举报