关于python:为什么显示对象0xxxxxxxx上的<__ main __.类名? 以及如何获得实际结果?

Why is the <__main_.ClassName at object 0xxxxxxxx> is showing? And how to get the actual results?

本问题已经有最佳答案,请猛点这里访问。

我正在做一个简单的类,代码如下:

1
2
3
4
5
class Player(object):
    def __init__(self, character):
        self.character= character      

Sara = Player("Sara")

没什么好奇怪的,当我运行它时,它会给出以下结果:

1
2
>>> print Sara
<__main__.Player object at 0xxxxxxxxx>

如何停止最后一行的执行?


您需要在类中设置__repr____str__函数,以便print函数知道正确打印什么。请将类更改为下面的示例,然后重试。

1
2
3
4
5
6
7
8
9
class Player(object):
    def __init__(self, character):
        self.character = character  

    def __repr__(self):
        return self.character

    def __str__(self):
        return self.character