我已經玩了一段時間了,無法弄清楚。我有一個簡單的類,想使用一個串列作為共享類屬性,甚至只是一個實體屬性。顯然,在某些時候很高興看到此串列中的內容,但我所能回傳的只是物件資訊 ( <__main__.Testclass instance at 0x7ff2a18c>)。我知道我需要重寫__repr__or__str__方法,但我絕對沒有正確地做到這一點。
class TestClass():
someList = []
def __init__(self):
self.someOtherList = []
def addToList(self, data):
self.someOtherList.append(data)
TestClass.someList.append(data)
def __repr__(self):
#maybe a loop here? I've tried returning list comprehensions and everything.
pass
test = TestClass()
test.addToList(1)
test.addToList(2)
test.addToList(3)
print(test.someList)
print(test.someOtherList)
我只想看看[1,2,3]或1 2 3(希望選擇其中一個)。
uj5u.com熱心網友回復:
使用test.someListand test.someOtherList,您已經可以看到這些串列中的內容...
如果您想在列印test物件時查看這些串列,您可以實作__str__或__repr__將實體的表示委托給其中之一。(someList或someOtherList)
def __repr__(self):
return str(self.someOtherList)
現在,每當您列印test物件時,它都會顯示self.someOtherList.
class TestClass:
someList = []
def __init__(self):
self.someOtherList = []
def addToList(self, data):
self.someOtherList.append(data)
TestClass.someList.append(data)
def __repr__(self):
return str(self.someOtherList)
test = TestClass()
test.addToList(1)
test.addToList(2)
test.addToList(3)
print(test)
輸出
[1, 2, 3]
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/429206.html
標籤:Python python-3.x
上一篇:變數的索引分配
