在Python中打印实例

2 投票
4 回答
672 浏览
提问于 2025-04-15 21:52

这是一个定义复数的类,叫做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()

撰写回答