python

Python打印对象和str()函数

小樊
94
2024-06-24 23:21:30
栏目: 编程语言

在Python中,我们可以使用print()函数来打印对象的内容。下面是一个示例:

class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age

person = Person("Alice", 30)
print(person)

在上面的示例中,我们定义了一个名为Person的类,然后创建了一个Person对象person,并使用print()函数打印了这个对象。当我们运行这段代码时,输出结果可能是:

<__main__.Person object at 0x000001F9A760C400>

这是因为默认情况下,print()函数会打印对象的内存地址。如果我们想打印对象的具体内容,可以在类中定义__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 = Person("Alice", 30)
print(person)

在这个示例中,我们在Person类中定义了__str__()方法,该方法返回一个包含对象内容的字符串。当我们再次运行这段代码时,输出结果将是:

Person(name=Alice, age=30)

除了使用__str__()方法之外,我们还可以使用str()函数将对象转换为字符串,如下所示:

class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age

person = Person("Alice", 30)
person_str = str(person)
print(person_str)

在这个示例中,我们使用str()函数将Person对象person转换为字符串,并将结果打印出来。输出结果将是:

<__main__.Person object at 0x000001F9A760C400>

请注意,如果我们没有在类中定义__str__()方法,则使用str()函数将返回对象的内存地址。

0
看了该问题的人还看了