>>> 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>
>>>Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
输出的并非地址,而是一个Matrix类的对象,要想输出定制的结果,可以重载__str__方法。另外,题主的代码比较奇怪:__init__构造函数会拦截创建实例的操作,其中self是引用的类实例,所以当把一个值赋值给self的时候,实例就不被引用了。
应该这样写:
>>> class Matrix: ... def __init__(self,s): ... self.data = s.replace(' ', '') ... def __str__(self): ... return self.data ... >>> x = Matrix("[1,2,3; 4,5,6; 7,8,9]") >>> print(x) [1,2,3;4,5,6;7,8,9]