首页 > 后端开发 > Python教程 > 如何在Python中自定义类的字符串表示形式?

如何在Python中自定义类的字符串表示形式?

Susan Sarandon
发布: 2024-11-11 04:16:02
原创
371 人浏览过

How to Customize the String Representation of a Class in Python?

Python 中类的自定义字符串表示形式

考虑以下类:

class foo(object):
    pass
登录后复制

的默认字符串表示形式这个类是:

>>> str(foo)
"<class '__main__.foo'>"
登录后复制

自定义字符串表示类本身(不是类的实例),利用元类概念。元类是创建其他类的类,允许调整它们的行为。

在类的元类中实现 __str__() 或 __repr__() 方法。 __str__() 方法提供可读的字符串表示形式,而 __repr__() 提供明确的表示形式。

class MC(type):
  def __repr__(self):
    return 'Customized class!'

class C(object):
  __metaclass__ = MC

print(C)
登录后复制

输出:

Customized class!
登录后复制
登录后复制

对于 Python 3,将代码修改为如下:

class MC(type):
  def __repr__(self):
    return 'Customized class!'

class C(object, metaclass=MC):
    pass


print(C)
登录后复制

输出:

Customized class!
登录后复制
登录后复制

通过在元类中实现 __str__() 或 __repr__() 方法,您可以定义自定义字符串表示形式,该表示形式将在您执行以下操作时显示:打印课程。

以上是如何在Python中自定义类的字符串表示形式?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板