我想知道如何在类b中使用实例变量(类A)。这里是正常运行的一小段代码引用:
class Node:
def __init__(self, value):
self.value = value
self.next = None
class Stack:
def __init__(self):
self.head = Node("head")
self.size = 0
def __str__(self):
cur = self.head.next
out = ""
while cur:
out += str(cur.value) + "->"
cur = cur.next
return out[:-3]
我想知道如何在类Stack
中使用实例变量(.next
和.value
)。我认为实例变量(.next
和.value
)只能在Node
类中出现和使用。据我所知,我们应该使用单继承,class Stack
应该改为class Stack(Node)
。另外,我不明白while cur
是什么意思。是否与while True
相同?
Question_1:我如何在类Stack
中使用实例变量(.next
和.value
)。我认为实例变量(.next
和.value
)可以出现,只在Node
类中使用。据我所知,我们应该使用单继承,class Stack
应该改为class Stack(Node)
?
Answer_1:在def ___init__
中,我们创建了Node
的变量,然后我们可以使用.next
和.value
的self.head
,因为这个变量是Node class
的实例。
Question_2另外,我不明白while cur
是什么意思。是否与while True
相同?
Answer_2:对于第一个Node
,我们设置.next = None
,然后当我们有多个节点时,我们在节点上运行直到获得Node.next == None
,然后将None
分配给cur
,当cur
将为None
时,我们退出while-loop
。