what is the correct way to check for False?(检查 False 的正确方法是什么?)
问题描述
哪个更好?(为什么?)
Which is better? (and why?)
if somevalue == False:
或
if somevalue is False:
如果 somevalue 是字符串,你的答案会改变吗?
Does your answer change if somevalue is a string?
推荐答案
这取决于 somevalue 可以是什么:如果 somevalue 可以是任何你可以检查它的东西一个布尔值和 not:
It rather depends on what somevalue can be: if somevalue could be anything you could check that it's a boolean and not:
if isinstance(somevalue, bool) and not somevalue
这不依赖于 False 是单例.如果它总是一个单例,你也可以这样做:
this doesn't rely on False being a singleton. If it always is a singleton you can also do:
if somevalue is False
<小时>
但是 Python 的 PEP8 声明你不应该关心它是否与类有关,只需使用:
But PEP8 of Python states you shouldn't care if it about the class and just use:
if not somevalue
这将评估 somevalue 是否为假".请参阅 关于真值测试的 Python 文档.
this will evaluate if somevalue is "falsy". See Python documentation on Truth value testing.
PEP8 状态:
不要使用 == 将布尔值与 True 或 False 进行比较.
Don't compare boolean values to True or False using == .
并给出这些例子:
Yes: if greeting:
No: if greeting == True:
Worse: if greeting is True:
在您的情况下翻译为:
Yes: if not greeting:
No: if greeting == False:
Worse: if greeting is False:
请记住,除了空字符串 '' 之外,每个字符串都被认为是真实的".
Keep in mind that each string is considered "truthy" except the empty string ''.
这篇关于检查 False 的正确方法是什么?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:检查 False 的正确方法是什么?
基础教程推荐
- 尝试制作WhatsApp机器人 2022-01-01
- Discord.py 缺少必需的参数 2022-01-01
- 用 Python 编写 Fortran 无格式文件 2022-01-01
- 使用生成器和迭代器时 Python 多循环失败 2022-01-01
- 在 Celery 工作人员中捕获 Heroku SIGTERM 以优雅地关 2022-01-01
- 与常规 dict 相比,Python manager.dict() 非常慢 2022-01-01
- 将 x 轴刻度更改为自定义字符串 2022-01-01
- numpy float:比算术运算中内置的慢 10 倍? 2022-01-01
- 由Python将MP3转换为MIDI(类型错误:无法加载插件:mtg-Melodia:Melodia) 2022-01-01
- pyserial - 可以从线程 a 写入串行端口,是否阻塞从线程 b 读取? 2022-01-01
