def __init__(self, n): self.parent = [i for i in range(n)]为什么parent前面要加self.
时间: 2024-04-18 12:29:04 浏览: 54
Max-Heap:用Python制作的Max Heap类
在Python中,类的方法定义需要使用`self`作为第一个参数,以引用类的实例。通过在方法定义中使用`self`,我们可以访问和操作该类的实例变量。
在`__init__`方法中,`self.parent`是一个实例变量,用于存储并查集中每个元素的父节点。通过在`self.parent`前面加上`self`,我们可以将其声明为类的实例变量,以便在整个类的其他方法中使用。
当我们创建并查集的实例时,例如`ufs = UnionFindSet(n + 1)`,`self.parent`将成为该实例的属性,并可以通过`ufs.parent`来访问和修改。
如果没有使用`self`来声明为实例变量,而只是简单地写成`parent = [i for i in range(n)]`,那么它只是一个局部变量,只能在`__init__`方法中访问,而不能在其他方法中使用。
因此,在类的方法定义中,我们需要使用`self`来引用和访问类的实例变量。这样可以确保在整个类的作用域内都能够正确地使用这些变量。
如果你还有其他问题,请随时提问。
阅读全文