在 Python 的 if 语句中使用布尔值
Using booleans in an if statement in Python
使用is
运算符检查 if 语句中的布尔值,例如
if variable is True:
. 如果满足条件,is
操作员将返回,否则。True
False
主程序
variable = True # ✅ check if variable has a boolean value of True if variable is True: # 👇️ this runs print('The boolean is True') # ------------------------------------------ # ✅ check if variable is truthy if variable: # 👇️ this runs print('The variable stores a truthy value')
第一个示例检查变量是否存储True
布尔值。
is
当您需要检查变量是否存储布尔值或时,您应该使用运算符None
。
当您需要检查一个值是否等于另一个值时,请使用相等运算符(等于
==
和不等于),例如。 !=
'abc' == 'abc'
简而言之,使用is
带有内置常量的运算符,例如True
,False
和
None
。
在语句中检查False
或检查虚假值
时,您可以使用相同的方法。if
主程序
variable = False if variable is False: # 👇️ this runs print('The boolean is False') if not variable: # 👇️ this runs print('The variable stores a falsy value')
请注意,检查布尔值
True
和与检查真值或假值非常不同。 False
下面是我们如何检查if
语句中的真值。
主程序
variable = True if variable: # 👇️ this runs print('The variable stores a truthy value')
Python 中的虚假值是:
- 定义为 falsy 的常量:
None
和False
. 0
任何数字类型的(零)- 空序列和集合:(
""
空字符串),()
(空元组),[]
(空列表),{}
(空字典),set()
(空集),range(0)
(空范围)。
所有其他值都是真实的,因此
if
如果任何其他值存储在变量中,该块就会运行。这里有些例子。
主程序
if 'hello': print('this runs ✅') if ['a', 'b']: print('This runs ✅') if '': print('this does NOT run ⛔️') if 0: print('this does NOT run ⛔️')
if not X
返回 的否定if X
。因此,对于if not X
,我们检查是否X
存储了一个虚假值。
您通常必须在单个if
语句中使用多个条件。
您可以使用布尔运算符and
或布尔or
运算符来做到这一点。
主程序
if True and True: print('This runs ✅') if True and False: print('This does NOT run ⛔️') # -------------------------------------- if True or False: print('This runs ✅') if False or False: print('This does NOT run ⛔️')
前两个示例使用布尔and
运算符,后两个示例使用布尔or
运算符。
使用布尔
and
运算符时,左侧和右侧的表达式必须为真值才能使if
块运行。换句话说,两个条件都必须满足if
才能运行块。
主程序
if True and True: print('This runs ✅') if True and False: print('This does NOT run ⛔️')
使用布尔or
运算符时,必须满足任一条件if
才能运行块。
主程序
if True or False: print('This runs ✅') if False or False: print('This does NOT run ⛔️')
如果左侧或右侧的表达式的计算结果为真值,则该if
块运行。