Python学习笔记——布尔值和逻辑运算

在Python中,用True和False表示布尔值,其运算符包括关系运算符和逻辑运算符。
0、空字符串、空序列、空集合、空字典通过bool()函数转换成布尔值时,都得到False,而其它一律得到True。

关系运算符

运算符 含义
== 等于
!= 不等于
> 大于
>= 大于等于
< 小于
<= 小于等于

Python中的关系运算符可以连用,其含义与日常理解一致

>>> 3<5>2
True

关系运算符的对象除了数字,还有字符串,按字符的ASCII码值从左到右一一比较,知道出现不同字符或穷尽字符串为止。

>>>"Hello">"World"
False #ascii('H')=72

此外,字符串和数字不能进行比较。

逻辑运算符

运算符 含义
and 与运算
or 或运算
not 非运算

and和or运算具有惰性求值或者逻辑短路的特点,即当连接多个表达式时只计算必须要计算的值。

>>>3>5 and a>3 #注意,此时没有定义变量a
False
>>>3>5 or a>3 #3>5为False,所以需要计算后面的表达式
NameError: name 'a' is not defined
>>>3<5 or a >3 #3<5为True,所以不需要计算后面的表达式
True

and和or运算不一定返回True或False,而是得到最后一个被计算的表达式的值。但not运算总是返回True或False。

>>>3 and 5
5
>>>3 and 5>2
True
>>> not 3
False
>>> not 0
True

各种运算的优先级

优先级 运算符 描述
1 +, - 正,负
2 ** 幂(从右向左结合)
3 *, /, % 乘,除法,取模
4 +, - 加法,减法
5 各种关系运算符 比较
6 not 非运算
7 and 与运算
8 or 或运算

你可能感兴趣的:(python,python,字符串)