我正在阅读 PEP 8 (Python .org),我注意到使用 boolean 值进行隐式比较是首选。
if booleanCond == True # Actually works
if booleanCond # Works too but preferred according to PEP8
这两个语句的含义相同,但在大多数语言中我知道显式比较是首选。 谁能(快速地)向我解释一下为什么?
谢谢!
最佳答案
据我所知,在大多数语言中,显式比较是不受欢迎的。有a question关于软件工程堆栈交换上的这种实践。
总体情况是,如果您需要明确地将 boolean 条件与 True
进行比较,则您的变量可能存在命名问题。
if is_blue:
读起来很好(这在 python 中很重要,因为它有助于减少程序员的认知负担),而 if is_blue is True:
则不然。
像往常一样,这是一种启发式方法,不应该是教条式的,但如果您觉得需要将 boolean 值与 True
或 False
进行比较来帮助您的读者了解您在做什么可能值得质疑您对此变量的命名。
关于Python - 隐式 boolean 比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59051931/