打印实例在Python
问题描述:
类复合物: DEF 初始化(个体,realpart,imagpart): self.real = realpart self.imag = imagpart 打印self.real,self.imag打印实例在Python
我得到这个输出:
>>> Complex(3,2)
3 2
<__main__.Complex instance at 0x01412210>
但是他为什么打印最后一行?
答
因为类的构造函数总是返回实例,然后你可以调用之后
inst = Complex(3,2)
inst.dosomething()
答
因为它是声明“Complex(3,2)”的结果。换句话说,Complex对象正在被返回,并且交互式解释器将前面的语句的结果打印到屏幕上。如果您尝试“c = Complex(3,2)”,您将抑制该消息。
答
您从交互式Python提示符运行代码,该代码打印出任何语句的结果,除非它是None
。
试试:
>>> 1
1
>>> 1 + 3
4
>>> "foobar"
'foobar'
>>>
所以你要Complex(3,2)
调用创建对象,而Python是打印出来。
答
你想要的是定义__str__(self)
并使它返回一个字符串表示(不打印一个)。
其方法是什么空闲标记是什么意思? – kame 2010-04-21 12:34:57
我认为这是指捆绑的Python IDE http://en.wikipedia.org/wiki/IDLE_(Python) – chills42 2010-04-21 12:36:42
我希望你明白,这段代码只会打印两个变量,而不是构造函数。这是打印返回对象的IDLE。 – 2010-04-21 14:09:34