在Python中打印实例
-
30-09-2019 - |
题
阶级复杂:DEF 在里面(self,realpart,imagpart):self.real = realpart self.imag = imagpart print self.real,self.imag
我得到此输出:
>>> Complex(3,2)
3 2
<__main__.Complex instance at 0x01412210>
但是他为什么要打印最后一行?
解决方案
因为类构造函数总是返回实例,那么您可以在此之后调用其方法
inst = Complex(3,2)
inst.dosomething()
其他提示
您从交互式Python提示中运行代码,该提示可以打印出任何语句的结果,除非它是 None
.
尝试一下:
>>> 1
1
>>> 1 + 3
4
>>> "foobar"
'foobar'
>>>
所以你打电话给 Complex(3,2)
正在创建一个对象,而Python正在将其打印出来。
因为这是“复杂(3,2)”陈述的结果。换句话说,正在返回一个复杂的对象,交互式解释器将上一个语句的结果打印到屏幕上。如果您尝试“ C =复杂(3,2)”,则将抑制消息。
您想要的是定义 __str__(self)
并做到 返回 字符串表示(不打印一个)。
不隶属于 StackOverflow