自学python第九天:布尔表达式和关键字in的示例代码
布尔表达式和关键字in的用法
在Python中,“if”语句后面的条件表达式会被求值为布尔值(True或False)。当条件表达式的结果为True时,执行“if”块内的代码;否则跳过。
代码:foods_name = [ ] # 空列表
if foods_name:
print("列表非空") # 不会执行
else:
print("列表为空") # 会执行 → 输出"列表为空"
这里,`foods_name`是一个空列表。在Python中,空列表在布尔上下文中会被视为`False`,非空列表被视为`True`。
所以,`if foods_name:`实际上是在检查`foods_name`列表是否非空。因为当前它是空的,所以条件为`False`,`if`块内的代码不会执行。
因此,这个`if`语句的作用是:当`foods_name`列表不为空时,执行下面的代码块;如果为空,则跳过。
一、底层原理:
Python中所有对象都有隐式的布尔值判断(通过__bool__( )或__len__( )实现):
1、视为 False 的情况:
空序列:[ ], "", ( ), { }
数字零:0, 0.0
None
False 本身
2、视为 True 的情况:
非空序列/容器
非零数字
其他对象(包括自定义类实例)
二、in 关键字有两种不同的用法
示例:
foods_name=['tomato','apple','orange','lemon','banana']
foods_name[1]='pear'
for food_name in foods_name: #用于遍历可迭代对象中的每个元素
if 'pear' in food_name: #用于检查某个元素是否存在于容器中
print(True)
else:
print(False)
结果:
False
True
False
False
False