📜  __str__() - Python (1)

📅  最后修改于: 2023-12-03 14:59:09.979000             🧑  作者: Mango

str()方法 - Python

在Python中,每个类都可以定义一个特殊的方法__str__(),用于返回对象的字符串表示形式。通常情况下,我们通过内置函数print()或者字符串拼接等方式输出对象时,会自动调用__str__()方法来返回代表对象的字符串。

1. 语法

__str__()方法的语法如下:

def __str__(self):
    # 返回对象的字符串表示形式

其中,self参数表示类的实例对象本身。

2. 示例

下面是一个简单的示例,说明如何在类中定义__str__()方法:

class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age
    
    def __str__(self):
        return f"Person(name={self.name}, age={self.age})"

在上面的例子中,我们定义了一个Person类,其中包含nameage两个属性。__str__()方法返回一个字符串,它包含类的实例对象的nameage属性的值。

现在,我们通过内置函数print()来输出这个类的实例对象,看看__str__()方法会返回什么:

p = Person("Tom", 22)
print(p)    # Person(name=Tom, age=22)

从输出结果可以看出,__str__()方法返回的是一个字符串,它代表了类的实例对象的属性信息。

3. 注意事项
  • __str__()方法应该返回一个字符串,它代表类的实例对象的字符串表示形式。
  • 返回的字符串可以包含任何有用的信息,比如对象的属性信息等。
  • 在使用print()函数输出对象时,自动调用__str__()方法,返回的字符串会被输出到终端。
  • 可以通过内置函数str()来手动调用__str__()方法。
4. 总结

__str__()方法是Python中一个非常有用的方法,它能让我们自定义类的实例对象的字符串表示形式,使得输出更加直观易懂。学会使用它,可以提高我们的代码可读性和可维护性。