如图,定义一个类,原本应输出字符串,但是为何输出了一个地址? 财富值92

2016-10-28 14:26发布

>>> class Matrix:      def __init__(self,s):         self = s.replace(,');           >>> x = Matrix("[1,2,3; 4,5,6; 7,8,9]") >>> print (x) <__main__.Matrix object at 0x04249DF0> >>>  
2条回答

应该这样写:

输出的并非地址,而是一个Matrix类的对象,要想输出定制的结果,可以重载__str__方法。
另外,题主的代码比较奇怪:__init__构造函数会拦截创建实例的操作,其中self是引用的类实例,所以当把一个值赋值给self的时候,实例就不被引用了。

一周热门 更多>