>>> 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>
>>>
>>> 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>
>>>
>>> class Matrix:
... def __init__(self,s):
... self.str = s.replace(' ', '')
...
>>> x = Matrix("[1,2,3; 4,5,6; 7,8,9]")
>>> print(x.str)
[1,2,3;4,5,6;7,8,9]
4 回答4.5k 阅读✓ 已解决
1 回答3.4k 阅读✓ 已解决
4 回答3.9k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
1 回答4.5k 阅读✓ 已解决
2 回答502 阅读✓ 已解决
1 回答4k 阅读✓ 已解决
输出的并非地址,而是一个Matrix类的对象,要想输出定制的结果,可以重载__str__方法。
另外,题主的代码比较奇怪:__init__构造函数会拦截创建实例的操作,其中self是引用的类实例,所以当把一个值赋值给self的时候,实例就不被引用了。
应该这样写: