我有以下 python 代码,它将 AVL 树的根设置为指定值。但是,通过将其传递给同一类中的函数来设置类的根变量似乎没有任何效果。
class AVLTree:
class AVLNode:
def __init__(self, value) -> None:
self.value = value
def __init__(self) -> None:
self._root = None
def insert(self, value: int) -> None:
return self._insert(value, self._root)
def _insert(self, value, node):
if node is None:
node = value
return
avl = AVLTree()
avl.insert(5)
print(avl._root)
印刷None
似乎将类变量self._root作为参数传递给成员方法不会改变它的值。
我读到 python 通过引用传递所有类成员,并且只将不可变类型(int 等)作为值传递。
知道为什么我不能修改函数self._root中的值吗_insert?我该怎么做?谢谢
MYYA
相关分类