1. 介绍
在Python的面向对象编程中,类的字符串表示形式是指当我们打印一个对象时,系统会自动调用它的__str__
方法,输出该对象的字符串表示形式。因此,如果我们想要更改对象的字符串表示形式,就需要在类中定义__str__
方法。本文将介绍如何更改Python类的字符串表示形式。
2. 示例
2.1 定义类
我们先来定义一个简单的类Person
,该类包含一个姓名属性name
和一个年龄属性age
:
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
接下来,我们创建一个Person
对象:
person = Person("Tom", 18)
现在,如果我们直接打印person
对象,会输出其默认的字符串表示形式:
print(person)
# 输出:<__main__.Person object at 0x7f123456789>
这个字符串表示形式并不能很好地表达Person
对象。因此,我们需要在Person
类中定义__str__
方法。
2.2 自定义类的字符串表示形式
我们可以在Person
类中定义__str__
方法,根据自己的需要来输出字符串表示形式。
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def __str__(self):
return f"{self.name}, {self.age} years old"
现在,如果我们再打印person
对象,将输出我们定义的字符串表示形式:
person = Person("Tom", 18)
print(person)
# 输出:Tom, 18 years old
这个字符串表示形式更加符合Person
对象的属性。
3. 总结
通过上面的例子,我们可以看到,通过在类中定义__str__
方法,我们可以自定义类的字符串表示形式。这将有助于我们更好地理解和调试代码。