可以像PyCharm声称的那样简化这种链式比较吗?

时间:2016-09-27 08:51:28

标签: python python-3.x comparison pycharm

我有一个包含两个整数属性的类,_xplevel。我有一个while循环来比较这两个循环,以确保它们都是正面的:

while self.level > 0 and self._xp < 0:
    self.level -= 1
    self._xp += self.get_xp_quota()

我的PyCharm声称这可以简化:

Simplify chained comparison

真的可以吗?我想在向PyCharm报告错误之前确定。

我也找到了a similar question,但在这种情况下,两个变量是相同的,我有两个不同的属性。

1 个答案:

答案 0 :(得分:5)

IIRC,您可以将其重写为:

while self._xp < 0 < self.level:
    self.level -= 1
    self._xp += self.get_xp_quota()

根据您的上述参考。有两个不同的属性或相同的变量并不重要,最终你只是比较每个属性的值。

如果有效,请告诉我。