python中需要用到判断正确与否来决定是否进入到下一步的操作有很多,这时候就需要使用条件语句来进行判断的操作,但在此之前,我们需要引入一个布尔类型的概念。
布尔类型也是一种数据类型,它属于int(整数型)的子类。布尔类型中只有两个数,一个是True,另一个则是False,它们也可以被认为是1和0。
注意:布尔类型之所以是属于int(整数型)的子类,原因就是True和False可以完全等价于1和0,True和False也可以用于整数的运算中,对应的,它们用于运算时,对应值就是1和0。
实例如下:
>>> True + 1
2
>>> False + 3
3
布尔类型中布尔值不是True就是Flase,没有第三种可能,那么哪些是True,哪些是Flase呢?
一般的,python认为整数0,浮点数0.0,空值,空字符串,空列表,空集合,空字典,None等为假。而其余的值为真
注意:由于元组的特殊性,倘若()内没有逗号,则python不会认为它是一个元组,因此python会判断括号内的值的布尔类型,但如果括号内有逗号,那么python会判断该元组的布尔类型,而不是判断元组内的元素的布尔类型。
实例如下:
>>> a = (0)
>>> bool(a)
False
>>> b = (0,)
>>> bool(b)
True
可以看到上面引入了一个bool函数用于布尔类型的判断,bool函数就是接下来要讲的第一种判断布尔函数的方法。
方法一:bool函数(用于布尔类型的判断)
bool函数可以用于布尔类型的判断,把要判断的数值作为参数输入进去后,bool函数会返回该参数的布尔类型。
实例如下:
>>> bool(0)
False
>>> bool(1)
True
方法二:关系运算符(用于两个数据的关系判断)
关系运算符可以对两个数据的关系进行运算,然后会返回一个布尔类型。
常见的关系运算符有:
关系运算符 | 说明 |
---|---|
> | 大于,如果> 前面的值大于后面的值,则返回 True,否则返回 False。 |
< | 小于,如果< 前面的值小于后面的值,则返回 True,否则返回 False。 |
== | 等于,如果== 两边的值相等,则返回 True,否则返回 False。 |
>= | 大于等于(等价于数学中的 ≥),如果>= 前面的值大于或者等于后面的值,则返回 True,否则返回 False。 |
<= | 小于等于(等价于数学中的 ≤),如果<= 前面的值小于或者等于后面的值,则返回 True,否则返回 False。 |
!= | 不等于(等价于数学中的 ≠),如果!= 两边的值不相等,则返回 True,否则返回 False。 |
is | 判断两个变量所引用的对象是否相同,如果相同则返回 True,否则返回 False。 |
is not | 判断两个变量所引用的对象是否不相同,如果不相同则返回 True,否则返回 False。 |
当了解了布尔类型之后,就可以进入到了python条件语句。
if条件语句可以通过if后面所加入的语句的布尔类型来判断是否执行语句下的内容,若为True则执行,若为False则不执行。
if语句是最简单的if条件语句,它会直接判断if后所跟的语句的布尔类型,若为True则执行该if语句下的内容,若为False则不执行任何操作。
实例如下:
a = 1
if a > 0:
print(a)
输出如下:
1
注意:在所有特殊语句中(条件语句,循环语句等)都要用冒号(:)来指明冒号后的为该语句中的内容,同样的,冒号后的下一行应使用缩进来代表这部分内容属于上面的这个语句。
if else 语句会在if语句不执行时,执行else语句中的内容。
实例如下:
a = 1
if a < 0:
print("a小于0")
else:
print("a不小于0")
输出如下:
a不小于0
if elif else语句可以进行多次判断,以if语句为第一次判断,以第一个elif语句为第二次判断,以第三个elif语句为第三个判断……如果判断出可以执行的语句,则会跳过之后的语句,假如没有判断出可以执行的语句,则会执行else语句的内容。
实例如下:
a = 11
if a < 0 :
print("a小于0")
elif a < 10:
print("a大于等于0,小于10")
elif a < 20:
print("a大于等于10,小于20")
else:
print("a大于等于20")
输出如下:
a大于等于10,小于20