比较运算符主要是比较2个值之间的关系,总会返回一个布尔类型。关系成立返回True,不成立Fasle。
> 比较左侧值是否大于右侧值>= 比较左侧的值是否大于或等于右侧的值< 比较左侧值是否小于右侧值<= 比较左侧的值是否小于或等于右侧的值如果出现多个字符的情况下,那么我们的比较方式是对位比较。如果对位比较出结果则直接返回结果,否则去下一位对位比较,直到比较出结果为止。
r = '2' > '1' # True r = '2' > '11' # True r = 'a' > 'b' # False 97 > 98 r = 'c' < 'd' # True r = 'ab' > 'b' # False r = 'abc' < 'acd' # True特殊的比较方式
== 比较两个对象的值是否相等!= 比较两个对象的值是否不相等is 比较两个对象是否是同一个对象,比较的是对象的idis not 比较两个对象是否不是同一个对象,比较的是对象的id a = 1 b = 1 print(a is b) # True print(id(a),id(b)) # 1829530640 1829530640逻辑运算符主要用来做一些逻辑判断
当我们对非布尔值进行与、或运算时,Python会将其当做布尔值运算,最终会返回原值。
与运算是找False,如果第一个值是False,则不看第二个值。如果第一个值是False,则直接返回第一个值,否则返回第二个值。
r = 1 and 2 # 2 r = 2 and 0 # 0 r = 0 and 2 # 0 r = None and 0 # None或运算是找True,如果第一个值是True,则不看第二个值。如果第一个值是True,则直接返回第一个值,否则返回第二个值。
r = 1 or 2 # 2 r = 2 or 0 # 2 r = 0 or 2 # 2 r = None or 0 # 0条件运算符在执行时,会先对条件表达式进行求值判断:
如果判断结果为True,则执行语句1,并返回执行结果。如果判断结果为False,则执行语句2,并返回执行结果。语法:语句1 if 条件表达式 else 语句2
# 求a、b之间的最大值 a = 60 b = 8 m = a if a > b else b print(m) # 60运算符优先级参照表:https://docs.python.org/3/reference/expressions.html#operator-precedence
a = 2 or 3 and 4 print(a) # 2 如果or和and的优先级一样高,从左往右运算,结果是4如果or比and的优先级高,从左往右运算,结果是4如果and比or的优先级高,结果是2计算结果是2,说明and的优先级比 or的优先级高。