编程的时候常常需要检查一些条件,并据此决定采用什么措施,在Python中,if语句常用来做判断语句。

一、一个简单的示例


下面是一个简短的示例,演示了如何使用if语句进行判断,假如你有一个水果列表,你想判断草莓是否在这个列表里,有则打印“草莓在列表里”这句话,不在则打印“草莓不在列表里”。




python判断表在不在库里 python判断在不在区间里_if语句



python判断表在不在库里 python判断在不在区间里_编程_02


首先判断草莓是否在列表里,判断结果为是,输出语句“草莓在列表里”。


二、条件测试

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

2.1 检查是否相等

首先我们将一个变量赋值为‘apple’,然后将他与另一个字符‘banana’比较是否相等,在很多编程语言中,使用两个等号(==)来判断等号两边是否相等,很显然两边不相等,故Python返回False。

注意:Python检查是否相等时,两个大小写不同的值被视为不相等

2.2 检查是否不相等

和上一个类似,Python中使用符合(!=)来判断两边是否不相等,如不相等就返回True,反之返回False。

2.3 比较数字

比较数字比较简单,除了上面的比较相等和不相等之外,还可以有小于、小于等于、大于、大于等于等:




python判断表在不在库里 python判断在不在区间里_编程语言_03


2.4 检查多个条件

有时候你想同时检查多个条件,比如你有时候需要两个条件同时为True才执行相应的操作,或者有时候你想只要有一个条件为True就执行操作,在这种情况下,关键字and和or就可以派上用场了。
要检查是否多个条件是否为True,可使用关键字and将多个条件测试合而为一,如果所有的条件测试都过了,则整个表达式为True,反之如果至少有一个不满足,则表达式为False。

要检查多个条件中只需要一个条件为True就能够通过条件测试,此时可以使用or关键字

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

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

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



python判断表在不在库里 python判断在不在区间里_if语句_04



与上一个类似,用not in 关键字来判断特定值是否不包含在列表中。


三、if语句

在了解条件测试之后,就可以编写if语句了,if语句有多种,选择哪种结构取决于测试的条件数。

3.1 简单的if语句

最简单的if语句只有一个条件测试和一个代码块,判断为True就执行代码块,否则忽略这些代码。



python判断表在不在库里 python判断在不在区间里_python_05





python判断表在不在库里 python判断在不在区间里_python判断表在不在库里_06



在if语句中,缩进的作用和for循环一样,如果条件测试通过就执行下面所以的缩进代码行,否则就忽略它们。需要注意的是if语句末尾的冒号(:)不可省略

3.2 if-else语句

经常需要在条件测试通过时执行一个操作而在不通过时执行另一个操作,在这种情况下就可以使用Python的if-else语句块。



python判断表在不在库里 python判断在不在区间里_python判断表在不在库里_07





python判断表在不在库里 python判断在不在区间里_编程语言_08



3.3 if-elif-else结构

如果遇到需要检查超过两个的情形,为此可以使用Python使用的if-elif-else结构,Python只执行if-elif-else结构中的一个代码块,它依次检查每个条件测试直到遇到通过了的条件测试,随后Python将执行紧跟其后的代码并跳过余下测试。

3.4 使用多个elif代码块

可根据需要使用任意数量的elif代码块。看如下示例



python判断表在不在库里 python判断在不在区间里_if语句_09





python判断表在不在库里 python判断在不在区间里_编程语言_10



注:
①在Python中并不要求if-elif结构后面必须有else代码块,在有些情况下else欲绝可以忽略!
②尽管if-elif-else功能强大,但是仅适用于只有一个条件满足的情况。然而有时必须检查你关心的所有条件,在这种情况下应该使用多个简单的if语句而不是if-elif-else结构,在可能有多个条件都为True的时候,你需要为这些条件为True时都采取相应的措施,这时if-elif-else就不适合了。