Asked:2020-12-28 04:01:20 +0000 UTC2020-12-28 04:01:20 +0000 UTC2020-12-28 04:01:20 +0000 UTC
在不等式条件下使用什么更好?
772
以前,在不等式条件下,我总是使用not :if not a == b之类的。但是前几天,一位同事在阅读我的代码时,让我开始怀疑自己的行为是否正确,提醒我代码的强制性可读性和 Python 早已被遗忘的基础—— !=. 也许我错了,但我仍然认为这不是更直观和可读。那么,如何让代码变得更友好?文档中对此有何评论:重新训练自己是否有意义!=?
对我来说,这个问题纯粹是有争议的,没有明确的答案。
仍然
!=- 针对这种情况的更可接受的解决方案。一种标准。是否重新培训取决于您,但我想警告您:当您有一种情况时,它可能看起来可读,但如果您有这样的情况:
等几十个条件,这些与and
not合并。andor我认为这个选项看起来更具可读性
改变习惯,或者让一切保持原样 - 你决定。
如果我们谈论的是保持文本的可读性,那么我们不应该着眼于最简单、明确的例子,而应该着眼于这些例子——出于各种原因,从对优先级的误解到与缺少括号相关的基本错误——可能会出现“意外”解释的情况。
好吧,例如:很明显 not a == 0 和 a!=0 会给出相同的结果。
但
相当于这个
或者这个
???
事实证明,不,不等同 - 既不是一个也不是另一个。
那为什么
相当于
???
我了解您需要安排,括号等,等等,等等。但是,如果我们真的想在编写复杂结构时更好地不犯错误(不是“必然”,而只是“更好”,即出错的机会更少,读者正确理解代码的机会更大),请避免任何可能导致解释困难的事情。