if 结构
if 结构允许程序做出选择,并根据不同的情况执行不同的操作
基本用法
比较运算符
根据 PEP 8 标准,比较运算符两侧应该各有一个空格,比如:5 == 3。 PEP8 标准
==(相等):如果该运算符两侧的值完全相同则返回 True
!=(不等):与相等相反
print(5 == '5') print(True == '1') print(True == 1) print('Eric'.lower() == 'eric'.lower())
>(大于):左侧大于右侧则输出 True
<(小于):与大于相反
>=(大于等于):左侧大于或者等于右侧则输出 True
<=(小于等于):左侧小于或者等于右侧则输出 True
print(5 > 3) print(2 > True) print(True > False)
if的用法
1.只有 if 进行判断
desserts = ['ice cream', 'chocolate', 'apple crisp', 'cookies'] favorite_dessert = 'apple crisp' hate_dessert = 'chocolate' for dessert in desserts: if dessert == favorite_dessert: print("%s is my favorite dessert!" % dessert.title())
2. if - else 进行判断
for dessert in desserts: # 比较运算符(== 相等 、!= 不等、> 大于、>= 大于等于、< 小于、<=小于等于) if dessert == favorite_dessert: print("%s is my favorite dessert!" % dessert.title()) # elif => else + if 当前值不符合上面 if 的判断条件,执行 elif 的判断条件 else: print("I like %s." % dessert)
3. if - elif - else 进行判断,其中 elif 不是唯一的,可以根据需要添加,实现更细粒度的判断
# 对不同的 dessert 输出不完全相同的结果 for dessert in desserts: # 比较运算符(== 相等 、!= 不等、> 大于、>= 大于等于、< 小于、<=小于等于) if dessert == favorite_dessert: print("%s is my favorite dessert!" % dessert.title()) # elif => else + if 当前值不符合上面 if 的判断条件,执行 elif 的判断条件 elif dessert == hate_dessert: print("I hate %s." % dessert) # 当前值不符合上面所有的判断条件,就执行 else 里的语句 # 当然如果这个else 不需要的话,可以不写 else: print("I like %s." % dessert)
值得注意的一点是:当整个 if 判断满足某一个判断条件时,就不会再继续判断该判断条件之后的判断
4.特殊的判断条件
if 0: # 其他数字都返回 True print("True.") else: print("False.") # 结果是这个 if '': #其他的字符串,包括空格都返回 True print("True.") else: print("False.") # 结果是这个 if None: # None 是 Python 中特殊的对象 print("True.") else: print("False.") # 结果是这个 if 1: print("True.") # 结果是这个 else: print("False.")
实例扩展:
实例(Python 3.0+)实例一:
# Filename : test.py # author by : www.runoob.com # 用户输入数字 num = float(input("输入一个数字: ")) if num > 0: print("正数") elif num == 0: print("零") else: print("负数")
实例(Python 3.0+)实例二:
# Filename :test.py # author by : www.runoob.com # 内嵌 if 语句 num = float(input("输入一个数字: ")) if num >= 0: if num == 0: print("零") else: print("正数") else: print("负数")