Python - 隐式布尔比较
Python - Implicit Boolean comparisons
我正在阅读 PEP 8 (Python .org),我注意到使用布尔值进行隐式比较是首选。
if booleanCond == True # Actually works
if booleanCond # Works too but preferred according to PEP8
这两个语句的意思相同,但我知道在大多数语言中,显式比较是首选。
任何人都可以(快速地)向我解释为什么吗?
谢谢!
AFAIK 显式比较在大多数语言中都是不受欢迎的。 a question 在软件工程堆栈交换上有关于此实践的内容。
总的来说,如果您需要明确地将布尔条件与 True
进行比较,您的变量可能存在命名问题。
if is_blue:
读起来很好(这在 python 中很重要,因为它有助于减轻程序员的认知负担)而 if is_blue is True:
则不然。
像往常一样,这是一种启发式的方法,不应该是教条式的,但是如果您觉得需要将布尔值与 True
或 False
进行比较以帮助您 reader了解你在做什么可能值得质疑你对这个变量的命名。
我正在阅读 PEP 8 (Python .org),我注意到使用布尔值进行隐式比较是首选。
if booleanCond == True # Actually works
if booleanCond # Works too but preferred according to PEP8
这两个语句的意思相同,但我知道在大多数语言中,显式比较是首选。 任何人都可以(快速地)向我解释为什么吗?
谢谢!
AFAIK 显式比较在大多数语言中都是不受欢迎的。 a question 在软件工程堆栈交换上有关于此实践的内容。
总的来说,如果您需要明确地将布尔条件与 True
进行比较,您的变量可能存在命名问题。
if is_blue:
读起来很好(这在 python 中很重要,因为它有助于减轻程序员的认知负担)而 if is_blue is True:
则不然。
像往常一样,这是一种启发式的方法,不应该是教条式的,但是如果您觉得需要将布尔值与 True
或 False
进行比较以帮助您 reader了解你在做什么可能值得质疑你对这个变量的命名。