首页>>帮助中心>>香港云服务器Python打印对象和str()函数

香港云服务器Python打印对象和str()函数

2024/6/25 179次

香港云服务器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()函数将返回对象的内存地址。

一诺网络香港免备案专区,提供「香港增强云服务器」和「香港特惠云服务器」两种类型的高可用弹性计算服务,搭载新一代英特尔®至强®铂金处理器,接入CN2低延时高速回国带宽线路,网络访问顺滑、流畅。机房网络架构采用了BGP协议的解决方案可提供多线路互联融合网络,使得不同网络运营商线路的用户都能通过最佳路由实现快速访问。香港云服务器低至29/月,购买链接:https://www.enuoidc.com/vps.html?typeid=2