每条if语句的核心都是一个值为True或False的表达式,这种表达式被称为条件测试。Python根据条件测试的值True还是False来决定是否执行if语句中的代码。如果条件测试的值为True,Python就执行紧跟在if语句后面的代码;如果为False,Python就忽略这些代码。
相等运算符( == )在它两边的值相等时返回True,否则返回False。
在Python中检查是否想等时 区分大小写。例如,两个大小写不同的值会被视为不想等。
要判断两个值是否不等,可结合使用惊叹号和等号( != ),其中惊叹号表示不。
条件语句中可包含各种数学比较,如小于( < )、小于等于( <= )、大于( > )、大于等于( >= )。
关键字 and 将两个条件测试合而为一;如果都通过了表达式就为True;如果至少一个测试没有通过,整个表达式就为False。
关键字 or 也能够检查多个条件,但只要至少有一个条件满足,就能通过整个测试。仅当两个测试都没有通过时,使用 or 的表达式才为False。
如:
age_0 = 18 age_1 = 22 if age_0 >= 21 and age_1 <= 21: print(‘YES.‘) else: print(‘Is Not.‘) age_0 = 20 age_1 = 18 if age_0 >= 21 or age_1 <= 21: print(‘YES.‘) else: print(‘Is not.‘)
布尔表达式:与条件表达式一样,布尔表达式的结果要么为True,要么为False。
在 if 语句中,缩进的作用与for循环中相同。 测试通过了,将执行 if 语句后面所有缩进的代码行,否则将忽略它们。
在紧跟在 if 语句后面的代码块中,可根据需要包含任意数量的代码行。
if-else 语句块类似于简单的 if 语句,但其中的 else 语句是 指定条件测试未通过时要执行的操作。
Python只执行 if-elif-else 结构中的一个代码块,它依次检查每个条件测试,直到遇到通过了的条件测试。 测试通过后,Python将执行紧跟在它后面的代码,并跳过余下的测试。
age=2 if age<4: print("Your admission cost is $0.") elif age<18: print("Your admission cost is $5.") else: print("Your admission cost is $10.")
总结:else 是一条包罗万象的语句,只要不满足任何 if 或者 elif 中的任何条件测试,其中的代码就会执行,这可能会引入无效甚至恶意的数据。
如果知道最重要测试的条件,应考虑使用一个 elif 代码块来代替 else 代码块。这样就可以肯定,仅当满足相应的条件时,代码才会执行。
PS:如果只想执行一个代码块,就使用 if-elif-else 结构;如果要运行多个代码块,就使用一系列独立的 if 语句。
如:
users=[‘admin‘,‘guest‘,‘zhang‘,‘wang‘,‘li‘] if users: for user in users: if user==‘admin‘: print(‘Hello ‘+user.title()+‘,would you like to see a staus report?‘) else: print(‘Hello ‘+user.title()) else: print(‘We need to find some users!‘)
其中的 if users: 是进行简单的检查,如果 users 的列表是空的,Python 就会返回False; 至少包含一个元素时返回True。
如:
current_users=[‘admin‘,‘guest‘,‘zhang‘,‘wang‘,‘li‘] new_users=[‘admin‘,‘guest‘,‘zhao‘,‘qian‘,‘sun‘] for user in new_users: if user.lower() in current_users: print(‘Enter one user name:‘) else: print(‘User name is not used!‘)
原文:https://www.cnblogs.com/Slayers-Z/p/11849965.html