每条if语句的核心都是一个值为True或者False的表达式,这种表达式被称为条件测试。Python根据条件测试的值为True还是False来决定是否执行if语句中的代码.如果条件测试的值为True,执行紧跟在if语句后面的代码,如果是False,就忽略掉这些代码。

1.检查是否相等

最简单的条件测试检查变量的值是否与特定值相等:

>>> a='zjb'
>>> a='zjb'

在这个示例中,两边的值相等,因此python返回True。
如果变量a的值不是 'zjb',上述的结果将返回False:

>>> a='abcd'
>>> a='zjb'
False

2.检查是否相等时不考虑大小写

在python中检查是否相等时区分大小写。例如,两个大小写不同的值会被视为不相等。

>>> a='Azjb'
>>> a='azjb'
False

如果大小写无关紧要,只想检查变量的值,可将变量的值转化为小写,然后进行比较:

>>> a='Azjb'
>>> a.lower() == 'azjb'

3.检查是否不相等

要判断两个值是否不等,可结合使用惊叹号和等号(!=),其中的惊叹号表示不,在很多编程语言中都是如此。

requested_topping = 'mushrooms'
if requested_topping != 'anchovies':
    print("Hold the anchovies!")

打印结果如下:

Hold the anchovies!

4.比较数字

检查数值非常简单,例如、下面的代码检查一个人是否是18岁:

>>>age = 18
>>>age == 18

你还可以检查两个数字是否不等,例如,下面的代码在提供的答案不正确时打印一条消息:

answer = 17
if answer != 42:
	print("That is not the correct answer. Please try again!")

执行结果:

That is not the correct answer. Please try again!

条件语句中可包含各种数学比较,如小于、小于等于、大于、大于等于:

>>> age = 19
>>> age < 21
>>>age <= 21
>>>age > 21
False
>>age >= 21
False

5.检查多个条件

5.1使用and检查多个条件

要检查是否两个条件都为True,可使用关键字and将两个条件测试合面为一;
如果每个测试都通过了,整个表达式就为True;
如果至少有一个测试没有通过,整个表达式就为False。
例如,要检查是否两个人都不小于21岁,可使用下面的测试:

>>>age_0 = 22
>>>age_1 = 18
>>>age_0 >= 21 and age_1 >= 21
Falce
>>>age_1 = 22
>>>age_0 >= 21 and age_1 >= 21

为改善可读性,可将每个测试都分别放在一对括号内,但并非必须这样做。如果你使用括号, 测试将类似于下面这样:

(age_0 >= 21) and (age_1 >= 21)

5.2使用or检查多个条件

关键字or也能检查多个条件,但只要至少有一个条件满足,就能通过整个测试。
仅当两个测试都没有通过时,使用or的表达式才为False.

>>>age_0 = 22
>>>age_1 = 18
>>>age_0 >= 21 or age_1 >= 21
>>>age_0 = 18
>>>age_0 >= 21 or age_1 >= 21
False

6.检查特定值是否包含在列表中

要判断特定的值是否已包含在列表中,可使用关键字in。

>> abc = ['mushrooms', 'onions', 'pineapple'l
>>>'mushrooms' in abc
>>>'pepperoni' in abc
False

这种方法在创建一个列表后,能够轻松地检查其中是否包含特定的值。

7.检查特定值是否不包含在列表中

还有些时候,确定特定的值未包含在列表中很重要;在这种情况下,可使用关键字not in.。
例如,如果有一个列表,其中包含被禁止在论坛上发表评论的用户,就可在允许用户提交评论前检查他是否被禁言:

zh = ['andrew', 'carolina', 'david']
user = 'marie'
if user not in zh
	print(user.title() + ", you can post a response if you wish.")

打印结果:

Marie, you can post a response if you wish.

8.布尔表达式

布尔表达式,是条件测试的别名。
与条件表达式一样,布尔表达式的结果要么为True,要么为False.

game_active = True
can_edit = False

在跟踪程序状态或程序中重要的条件方面,布尔值提供了一种高效的方式。

  •