我正在实例化一个类,并且只是想使用print来转储对象。当我这样做时,我似乎得到某种对象ID。我不能只发出一个“print ObjectName”,结果只是对象的属性?下面是我在做什么的例子:当我运行此我得到以下结果使用print输出Python中的对象
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
正如我所期望的。为什么“打印mycar”输出一个实例id而不是属性值?
一记叫这个问题问的为什么Python,默认情况下,打印属性值:如果其中一个属性更复杂一些,比如连接到数据库,会发生什么?它会如何打印出来?此外,如果您的汽车有120种不同的属性(或者更好,就像汽车功能字典),会发生什么情况。全部功能列表是否应该打印? Python中的默认值虽然通常没有帮助,但是相当安全,并且不会假设您的类有任何问题。 –