代码之家  ›  专栏  ›  技术社区  ›  endolith

为什么在Python中说x=x?

  •  4
  • endolith  · 技术社区  · 16 年前

    this file cross_from_below(x, threshold) ,有一句话是这样说的 threshold = threshold . 这条线有什么意义?如果没有这个命令,这个命令会有什么不同吗?

    4 回复  |  直到 16 年前
        1
  •  14
  •   Ned Batchelder    16 年前

    那项任务毫无意义。它可能只是剩下的,应该被移除。下一个函数几乎相同,并且没有。

        2
  •  8
  •   Alex Martelli    16 年前

    不,在您引用的具体示例中,这一行是(无害的,但)冗余的——实际上,下一个函数(从上面而不是从下面穿过阈值)几乎是相同的(当然,除了比较的方向),缺少额外的赋值,但工作方式相同。

    这是唯一一个 threshold=threshold 在某种程度上会有所不同 def def 时间,即“早”;-)。但这不是代码所做的——只是为了完整性而添加它。

        3
  •  3
  •   Aaron Digulla    16 年前

    threshold 是一个类的属性,然后分配它可以调用setter方法。

    但在这种情况下,我认为这是一个打字错误。我已经看过了 changelog

        4
  •  1
  •   phtrivier    16 年前

    也可能是这样的一种情况,在某种程度上,写一些东西是有意义的,比如:

     self.threshold = threshold
    

    因为函数是某个类的方法,需要保持阈值。(在这种情况下,它将意味着其他东西,不是吗?)