布尔值
1>2 #False
1<2<3 #True
42!-'42' #True
'Name'=='name' #Fales
'M' in 'Magic' #True
number=12
number is 12 #True
数据对比产生值的数据类型为布尔值型(Boolean),而且只有两种True和False。
但凡能够产生一个布尔值的表达式为布尔表达式(Boolean Expressions)。
比较运算
运算符 | 效果 |
---|---|
== | 左右两边等值的时候返回True |
!= | 左右两边不相等是返回True |
> | 左边大于右边时返回True |
< | 左边小于右边时返回True |
<= | 左边大于或等于右边时返回True |
>= | 右边大于或等于左边时返回True |
更为复杂的表达式
middle=5
1<middle<10
#先给变量赋值在比较大小
two=1+1
three=1+3
two<three
#将两个运算结果储存在不同的变量中,再进行比较
'Eddie Van Helen'=='eddie Van Helen'
#对比左右两边的字符串是否一致,因为Python严格区分大小写,所以返回值为False
abs(-10)>len('length of this word')
#两个函数进行对比,先调用函数再进行比较。abs()返回参数绝对值
True>False
True+False>False+False
#True和False对于计算机就像是1和0一样,所以相当于1>0,1+0>0+0
注意事项
不同类型的对象不能使用“<,>,<=,<.>=”进行比较,可以使用“==”和“!=”
42>'this answer' #无法比较
42=='this answer' #False
42!='this answer' #True
浮点和整形虽是不同类型但不影响比较运算
5.0==5 #True
3.0>1 #True
成员运算符与身份运算符
成员运算符:in,not in
身份运算符:is,not is
把in方在两个对象中间的含义是,测试前者是否存在于in后面的集合中。
这里介绍一个集合类型列表(List)。
album['Black star','David bowie',25,True]
album.append('new song')
#append()向列表中添加新的元素,使用这个方法添加的元素会排列在列表的尾部
print(album[0],album[-1])
#列表的索引与字符串索引相似
'Black Star in album'
#使用in测试字符串‘Black Star’是否在列表album中。如果存在则会显示True,不存在就会显示False
布尔运算符
运算符 | 结果 |
---|---|
not x | 如果x是True,则返回False,否则返回True |
x and y | and表示“并且”,如果x和y都是True,则返回True;如果x和y有一个是False,则返回False |
x or y | or表示“或者”,如果x或y有其中一个是True,则返回True;如果x和y都是False,则返回False |
1<3 and 2<5 #True
1<3 and 2>5 #False
1<3 or 2>5 #True
1>3 or 2>5 #False