无法在python中打印列表的内容

2024-09-30 06:23:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我创建了一个包含列表的类,代码如下:

class ProdReg:
def __init__(self):
    self.__Pliste=[]

这个很好用。 我还添加了一种打印列表内容的方法:

^{pr2}$

这并不是很好,当我试图将一个对象添加到此列表时,我得到以下错误:

<__main__.Bok object at 0x05777970>

对象是一个名为Bok的类。在

我不知道怎么解决这个问题。在


Tags: 对象方法代码self内容列表initmain
3条回答

这实际上不是一个错误-它正在打印您的对象,它属于Bok类。尝试将__str__添加到Bok类以打印其内容。你可以在这里看到:http://en.wikibooks.org/wiki/Python_Programming/Classes。在

作为一个简单的测试,请尝试将以下内容添加到您的Bok类中:

class Bok(object):
   def __str__(self):
      return "This is Bok"

再做一次测试。在

对对象的print调用^{},默认情况下打印类型和内存地址。如果你想要一个更可读的对象表示,你需要给你的类一个__str__的新实现。在

class Bok(object):
     def __str__(self):
         return 'This is a Bok!'

     # Other members here...

没问题,只是解释器不知道如何打印您的对象:

>>> class Me:
...     pass
... 
>>> me = Me()
>>> print me
<__main__.Me instance at 0xf98368>

如果需要打印某些内容,可以向对象添加__str__方法:

^{pr2}$

相关问题 更多 >

    热门问题