發現給物件定義 __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 ...