上面说过,if 和 elif 后面的“表达式”的形式是很自由的,只要表达式有一个结果,不管这个结果是什么类型,Python 都能判断它是“真”还是“假”。
布尔类型(bool)只有两个值,分别是 True 和 False,Python 会把 True 当做“真”,把 False 当做“假”。
对于数字,Python 会把 0 和 0.0 当做“假”,把其它值当做“真”。
对于其它类型,当对象为空或者为 None 时,Python 会把它们当做“假”,其它情况当做真。
比如,下面的表达式都是不成立的:
"" #空字符串
[ ] #空列表
( ) #空元组
{ } #空字典
None #空值
实例:
b = False if b: print('b是True') else: print('b是False') n = 0 if n: print('n不是零值') else: print('n是零值') s = "" if s: print('s不是空字符串') else: print('s是空字符串') l = [] if l: print('l不是空列表') else: print('l是空列表') d = {} if d: print('d不是空字典') else: print('d是空字典') def func(): print("函数被调用") if func(): print('func()返回值不是空') else: print('func()返回值为空')
运行结果:
b是False n是零值 s是空字符串 l是空列表 d是空字典 函数被调用 func()返回值为空
说明:对于没有return语句的函数,返回值为空,也即None。
以上就是python中if else判断表达式成立的方法。更多Python学习推荐:PyThon学习网教学中心。