Python 如何列印列表中包含類物件的內容

2021-10-16 18:05:02 字數 900 閱讀 8570

發現給物件定義 __str__(self) 方法,之後列印包含這類物件的list,列印出來的是物件的記憶體位址,

會出現這樣的列印結果:[<__main__.node object at 0x7f572f860860>, <__main__.node object at 0x7f572f860dd8>]

在網上搜到了直接列印物件屬性內容的方法:將 __str__(self) 改為  __repr__(self)

例子:

class car: #

def __init__( self, name, price ):

self.name = name

self.price = price

#def __str__( self ): # 不使用__str__,改用__repr__

def __repr__( self ):

return "%s - %d" % ( self.name, self.price )

def __cmp__( self, other ):

if self.name > other.name:

return 1

elif self.name == other.name:

return 0

else:

return -1

def __iter__( self ):

return self#

# if __name__ == '__main__':

carlist =

c1 = car( "byd", 15 )

c2 = car( "audi", 10 )

print( carlist )

列印結果是 [byd - 15, audi- 10]

參考:

Python列印多層巢狀列表

如下列表 1,2,3,4,5,6,7 8,9,10 11 12,13,14 lst 1,2,3,4,5,6,7 8,9,10 11 12,13,14 print 原多層巢狀列表 print lst lst new def get lst element lst for i in lst if typ...

python實現列表倒敘列印

def func listnode listnode.reverse for i in listnode print i li 1 2,3 4,5 func li 利用python列表函式reverse 將列表倒敘,然後遍歷列印,但是這有乙個缺點就是改變了原列表的順序。看看下面的 def func ...

python實現列表倒敘列印

def func listnode listnode.reverse for i in listnode print i li 1 2,3 4,5 func li 利用python列表函式reverse 將列表倒敘,然後遍歷列印,但是這有乙個缺點就是改變了原列表的順序。看看下面的 def func ...