gpt4 book ai didi

python - 使用 print 在 Python 中输出对象

转载 作者:行者123 更新时间:2023-11-28 22:00:00 25 4
gpt4 key购买 nike

我正在实例化一个类,只是想使用打印转储对象。当我这样做时,我似乎得到了某种对象 ID。我不能只发出“print ObjectName”而结果只是对象的属性吗?这是我正在做的一个例子:

class Car:
def __init__(self, color, make, model):
self.color = color
self.make = make
self.model = model

def getAll():
return (self.color, self.make, self.model)


mycar = Car("white","Honda","Civic")
print mycar

当我运行它时,我得到以下结果:

<__main__.Car instance at 0x2b650357be60>

我还希望看到颜色、品牌、型号值。我知道我是否通过以下方式单独打印它们:

print mycar.color,mycar.make,mycar.model

输出:

white Honda Civic

正如我所料。为什么“print mycar”输出的是实例 ID 而不是属性值?

最佳答案

定义一个 .__str__() method在你的课上。打印自定义类实例时将调用它:

class Car:
def __init__(self, color, make, model):
self.color = color
self.make = make
self.model = model

def __str__(self):
return ' '.join((self.color, self.make, self.model))

演示:

>>> mycar = Car("white","Honda","Civic")
>>> print mycar
white Honda Civic

此外,您可以实现 .__repr__() method同样,为您的实例提供对调试器友好的表示。

关于python - 使用 print 在 Python 中输出对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15707234/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com