在Python中打印实例
这是一个定义复数的类,叫做Complex。里面有一个初始化的方法,名字是init。这个方法有两个参数,一个是实部(realpart),一个是虚部(imagpart)。
在这个方法里,实部和虚部被分别存储在self.real和self.imag这两个地方。最后,它会打印出这两个值。
我得到了这样的输出:
>>> Complex(3,2)
3 2
<__main__.Complex instance at 0x01412210>
但是,为什么它会打印出最后一行呢?
4 个回答
3
因为这是“Complex(3,2)”这个语句的结果。换句话说,它返回了一个Complex对象,交互式解释器会把之前语句的结果显示在屏幕上。如果你试着写“c = Complex(3, 2)”,那么这个信息就不会显示出来了。
5
你是在一个交互式的Python提示符下运行代码,这种情况下,任何语句的结果都会被打印出来,除非结果是None
。
试试看:
>>> 1
1
>>> 1 + 3
4
>>> "foobar"
'foobar'
>>>
所以你调用Complex(3,2)
时,实际上是在创建一个对象,Python会把这个对象打印出来。
3
因为类的构造函数总是返回一个实例,所以你可以在那之后调用它的方法。
inst = Complex(3,2)
inst.dosomething()