代码之家  ›  专栏  ›  技术社区  ›  Lutaaya Huzaifah Idris

self.variable.function()在python中的意思是通过类self variable访问一个方法[closed]

  •  -1
  • Lutaaya Huzaifah Idris  · 技术社区  · 5 年前

    class Node:
    
        def __init__(self, data):
            self.left = None
            self.right = None
            self.data = data
    
        def insert(self, data):
            if self.data:
    
    
                if data < self.data:
                    if self.left is None:
                        self.left = Node(data)
                    else:
                        self.left.insert(data)
                elif data > self.data:
                    if self.right is None:
                        self.right = Node(data)
                    else:
                        self.right.insert(data)
                else:
                    self.data = data
    
        def PrintTree(self):
            if self.left:
                self.left.PrintTree()
            print(self.data),
            if self.right:
                self.right.PrintTree()
    
    
    if __name__ == "__main__":
        root = Node(12)
        root.insert(6)
        root.insert(14)
        root.insert(3)
    
        root.PrintTree()
    

    但我仍然想知道在下面几行,他们通过变量调用函数:

    self.left.insert(data)
    

    然后:

    self.right.insert(data)
    

    以及:

    self.left.PrintTree()
    

    1 回复  |  直到 5 年前
        1
  •  1
  •   Adam Hosman    5 年前

    从中可以看到 insert(self, data) 方法的内容 right left 实例属性用于保存类型为 Node self 节点。引用的行调用这个类中定义的方法,但不是在 自己