|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
我要做一个类,要用它实现双向链表
如果我把Dict类中的__str__方法替换成__repr__就会触发无限递归,请问要如何改进呢?我想实现的效果是print(l)就把所有的东西都打印出来,方便查看
[code]class Dict():
def __init__(self, item):
self.data = item
self.up = None
self.next = None
def __str__(self):
result = [self.data, self.up, self.next]
return str(result)
class LinkedList():
def __init__(self):
self.head = None
self.tail = None
self.list = []
def __str__(self):
return str(self.list)
def add(self, item):
if not isinstance(item, Dict):
item = Dict(item)
if self.head is None:
self.head = item
item.up = None
item.next = None
self.tail = item
else:
self.tail.next = item
item.up = self.tail
self.tail = item
self.list.append(item)
def main():
l = LinkedList()
l.add(0)
l.add(1)
l.add(2)
print(l)
if __name__ == "__main__":
main() |
|