从前面的示例可以看到,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处理。