首页 > 技术文章 > python那些需要知道的事儿——逻辑运算与比大小

zhangchengchao123 2021-03-16 19:25 原文

一、逻辑运算

逻辑运算符: and   or   not,结果为布尔值(True和False)

1、基本逻辑运算符介绍

  • not :将后面的逻辑运算结果取反
>>> not 1 < 2
False
>>> not 1 == 2
True
  • and  :连接左右两个条件,当两个条件都为真时,返回结果为真(True),否则为假(False)
>>> 1 == 1 and 3 < 5
True
>>> 1 != 2 and 2 == 3
False
  • or 连接左右两个条件,当有一个条件为真时,返回结果为真(True),否者为假(False)
>>> 1 == 2 or 1 < 3
True
>>> 1 > 4 or 3*4 < 20
True

2、运算优先级:  () > not > and > or

当多个逻辑运算符同时出现时,按照优先级进行判断

# 优先级
1 == 3 and 23 < 43 or not 1 < 3 and 1*2 == 2 or 3-2 < 5
# 等价于
(1 == 3 and 23 < 43) or ((not 1 < 3) and 1*2 == 2) or 3-2 < 5

3、显式与隐式布尔值逻辑运算

隐式布尔值:

  • False :0  ,  None  ,  空
  • True  :除以上外所有整数、浮点数、字符串等
>>> 1 < 3 and 1
1
>>> 1 < 3 and 0 or "aa"
'aa'

4、短路运算

一旦整个逻辑运算结果可以确定,计算机就会返回确定结果处的逻辑运算值,如果是隐式布尔值就返回隐式布尔值

and 一假为假,全真为真

or  一真为真,全假为假

>>> 1 and 0
0
>>> 0 or 2
2
>>> None or 1 and "aa" and []
[]

二、比大小

同等类型可以比大小

整数类型可以任意相比

字符串比相应位置字符的编码

其他类型需要相同位置相同类型相比

>>> 1 < 3
True
>>> 1 > 1.4
False
>>> "asdksbd" > "djasks"
False
>>> [1,2,3,4,5] < [3,2,3,1,4]
True

 

推荐阅读