从前面的示例可以看到,Python 执行if语句时,会判断if条件是True还是False。那么if条件是不是只能使用 bool类型的表达式呢?不是。if条件可以是任意类型,当下面的值作为 bool表达式时,会被解释器当作False处理。
False、None、0、""、()、[]、{}
从上面介绍可以看出,除了 False 本身,各种代表“空”的 None、空字符串、空元组、空列
表、空字典都会被当成False处理。
# !/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2024/01
# @Author : Laopi
# 定义空字符串
s = ""
if s:
print('s不是一个空字符串')
else:
print('s是一个空字符串')
#定义空列表
my_list = []
if my_list:
print('my_list不是空列表')
else:
print('my_list是空列表')
#定义一个空字典
my_dict ={}
if my_dict:
print('my_dict不是空字典')
else:
print('my_dict是空字典')
从上面的判断代码可以看出,这些if条件分别使用了 str 类型、list类型、dict类型,由于这些str、list、dict都是空值,因此Python会把它们当成False处理。