Python 中检查多个变量是否不是 None
Python 中检查多个变量是否不是 None:
- 将变量包装在列表中。
- 使用生成器表达式迭代列表。
- 在每次迭代中,检查当前列表项是否不是 None。
-
将生成器对象传递给
all()
函数。
a = 'a'
b = 'b'
c = 'c'
if all(item is not None for item in [a, b, c]):
print('Multiple variables are NOT None')
else:
print('At least one of the variables stores a None value')
我们使用方括号将变量添加到列表中,并使用生成器表达式迭代列表。
生成器表达式用于对每个元素执行一些操作,或者选择满足条件的元素子集。
在每次迭代中,我们检查当前列表项是否不是 None 并返回结果。
最后一步是将生成器对象传递给 all()
函数。
all()
内置函数接受一个可迭代对象作为参数,如果该可迭代对象的所有元素都为真(或者该可迭代对象为空),则返回 True。
如果所有变量都不为 None,则
all()
函数将返回 True,否则返回 False。
另一种方法是使用 in
运算符。
检查多个变量是否不是 None:
- 将变量包装在一个序列中(例如元组或列表)。
-
使用
not in
运算符检查 None 是否不是序列的成员。 - 如果序列不包含 None,则变量不是 None。
a = 'a'
b = 'b'
c = 'c'
if None not in (a, b, c):
# 👇️ this runs
print('Multiple variables are NOT None')
这种方法看起来比前一种方法简单得多。 但是 ,
in
和not in
运算符检查是否相等,例如None != a
,None != a
,等等。
这在 Python 中不是一个好的做法,因为建议使用 is
关键字检查 None 。
在一些非常罕见的情况下,使用等于和不等于来检查 None 可能会导致混淆行为,因此 PEP8 样式指南建议在测试 None 时使用 is 和 is not。
in
运算符测试成员资格。 例如,如果 x 是 l 的成员,则 x in l 的计算结果为 True,否则计算结果为 False。
x not in l
返回 x in l
的否定。
另一种方法是多次使用 and
运算符。
a = 'a'
b = 'b'
c = 'c'
if a is not None and b is not None and c is not None:
print('Multiple variables are NOT None')
通常不推荐这样做,因为它非常重复且难以阅读。
if
语句首先检查 a 变量是否不为 None。 如果是,则 if
语句短路返回 False,而不检查以下任何条件。
如果表达式 x 和 y 为假,则返回左边的值,否则返回右边的值。
result = False and 'hello'
print(result) # 👉️ False
所有不真实的值都被认为是虚假的。 Python 中的虚假值是:
- 定义为 falsy 的常量:None 和 False。
- 任何数字类型的 0(零)
-
空序列和集合:""(空字符串)、
()
(空元组)、[]
(空列表)、{}
(空字典)、set()
(空集)、range(0)
(空范围)。
因此,如果左侧的值是上述任何虚假值,则返回左侧的值。
最好使用
all()
函数来检查多个变量是否不为 None,因为这种方法没有任何边缘情况并且可读性很强。
a = 'a'
b = 'b'
c = 'c'
if all(item is not None for item in [a, b, c]):
print('Multiple variables are NOT None')
else:
print('At least one of the variables stores a None value')
相关文章
Python for 循环中的下一项
发布时间:2023/04/26 浏览次数:179 分类:Python
-
本文讨论了 Python 中的 for 循环以及如何通过使用 for 循环和示例来跳过列表的第一个元素。
Python While 循环用户输入
发布时间:2023/04/26 浏览次数:148 分类:Python
-
我们可以在 while 循环中使用 input() 函数来输入数据,直到在 Python 中满足某个条件。
在 Python 中将整数转换为罗马数字
发布时间:2023/04/26 浏览次数:87 分类:Python
-
本篇文章将介绍在 Python 中将整数转换为罗马数字。以下是一个 Python 程序的实现,它将给定的整数转换为其等效的罗马数字。
在 Python 中将罗马数字转换为整数
发布时间:2023/04/26 浏览次数:144 分类:Python
-
本文讨论如何在 Python 中将罗马数字转换为整数。 我们将使用 Python if 语句来执行此操作。 我们还将探讨在 Python 中将罗马数字更改为整数的更多方法。
在 Python 中读取 gzip 文件
发布时间:2023/04/26 浏览次数:70 分类:Python
-
本篇文章强调了压缩文件的重要性,并演示了如何在 Python 中使用 gzip 进行压缩和解压缩。
在 Python 中锁定文件
发布时间:2023/04/26 浏览次数:141 分类:Python
-
本文解释了为什么在 Python 中锁定文件很重要。 这讨论了当两个进程在没有锁的情况下与共享资源交互时会发生什么的示例,为什么在放置锁之前知道文件状态很重要,等等
在 Python 中将 PDF 转换为文本
发布时间:2023/04/26 浏览次数:196 分类:Python
-
在本教程中,我们将学习如何使用 Python 使用 PyPDF2、Aspose 和 PDFminer 将 PDF 文档转换为文本文件。
在 Python 中创建临时文件
发布时间:2023/04/26 浏览次数:53 分类:Python
-
本文讲解了tempfile库函数的四个子函数:TemporaryFile、NamedTemporaryFile、mkstemp、TemporaryDirectory。 每个部分都提供了适当的程序,以简化对概念的理解。