什么是"自我"干

时间:2016-06-14 12:38:29

标签: python

在这段代码中,他们正在检查self与self.parent.leftChild的相等性。为什么他们这样做

def isLeftChild(self):
    return self.parent and self.parent.leftChild == self

该网站是: - class TreeNodehttp://interactivepython.org/runestone/static/pythonds/Trees/SearchTreeImplementation.html

1 个答案:

答案 0 :(得分:4)

  

在这段代码中,他们正在检查self与其他两个参数的相等性。

什么?哪里?不,a and b == c不会以任何方式将ac联系在一起。

self.parent and self.parent.leftChild == self

检查是否

  1. self.parent有一个有意义的值(不是None),如果是,
  2. self.parent.leftChild等于给定的self
  3. 换句话说,它的名字就是:它检查“我们”是否与我们父母的左孩子相同。当然,这只有在我们有父母的情况下才有效。如果我们没有,我们就不是它的左孩子了。

    注意:我刚才所说的“不是None”只是事实的一半。确切地说,它检查是否存在“真值”,i。即在条件表达式的上下文中计算为true的值。正如在None之类的缺席节点的情况下,通常使用parent,我所写的内容已经足够清楚了。