第十一讲 python中的逻辑运算符-比较运算符-位运算符

目录

1. 逻辑运算符

1.1 or (或)

1.2 and(与)

1.3 not (非)

2. 比较运算符

2.1 相等运算符(==)

2.2 不等运算符(!=)

2.3 大于运算符(>)

2.4 小于运算符(<)

2.5 大于等于运算符(>=)

2.6 小于等于运算符(<=)

3. 位运算符

3.1 按位与(&)

3.2 按位或(|)

3.3 按位异或(^)

3.4 按位取反(~)

3.5 左移运算符(<<)

3.6 右移运算符(>>)

4. 运算符优先级


1. 逻辑运算符

运算符

格式

说明

or 逻辑或

x or y

x为true,则不计算y,直接返回true;x为false,则返回y

and 逻辑与

x and y

x为true,则返回y的值x为false,则不计算y,直接返回false

not 逻辑非

not x

x为true,返回false;x为false,返回true

1.1 or (或)

如果至少一个操作数为True,则结果为True;否则,结果为False。

age = 25
nationality = "China"

# 使用or运算符判断多个条件
if age >= 18 or nationality == "China":
    print("年龄大于等于18或者国籍是中国")

1.2 and(与)

如果两个操作数都为True,则结果为True;否则,结果为False。

x = 5
y = 10
z = 15

# 使用and运算符判断多个条件
if x < y and y < z:
    print("x小于y,并且y小于z")

1.3 not (非)

对操作数进行取反操作,如果操作数为True,则结果为False;如果操作数为False,则结果为True。

is_raining = False

# 使用not运算符取反
if not is_raining:
    print("天气晴朗")

2. 比较运算符

运算符

描述

实例

==

等于 – 比较对象的值是否相等

(a == b) 返回 False。

!=

不等于 – 比较两个对象的值是否不相等

(a != b) 返回 true.

>

大于 – 返回x是否大于y

(a > b) 返回 False。

<

小于 – 返回x是否小于y。

(a < b) 返回 true。

>=

大于等于 – 返回x是否大于等于y。

(a >= b) 返回 False。

<=

小于等于 – 返回x是否小于等于y。

(a <= b) 返回 true。

2.1 相等运算符(==)

检查两个值是否相等。

a = 5
b = 5
c = 10

print(a == b)  # 输出:True
print(a == c)  # 输出:False

2.2 不等运算符(!=)

检查两个值是否不相等。

a = 5
b = 5
c = 10

print(a != b)  # 输出:False
print(a != c)  # 输出:True

2.3 大于运算符(>)

检查左侧的值是否大于右侧的值。

a = 5
b = 10

print(a > b)  # 输出:False
print(b > a)  # 输出:True

2.4 小于运算符(<)

检查左侧的值是否小于右侧的值。

a = 5
b = 10

print(a < b)  # 输出:True
print(b < a)  # 输出:False

2.5 大于等于运算符(>=)

检查左侧的值是否大于等于右侧的值。

a = 5
b = 10

print(a >= b)  # 输出:False
print(b >= a)  # 输出:True

2.6 小于等于运算符(<=)

检查左侧的值是否小于等于右侧的值。

a = 5
b = 10

print(a <= b)  # 输出:True
print(b <= a)  # 输出:False

3. 位运算符

运算符

描述

&

按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则0

|

按位或运算符:只要对应的二个二进位有一个为1时,结果为就为1.

^

按位异或运算符:当两对应的二进制位相异时,结果为1

~

按位取反运算符:对数据的每个二进制取反,既把1变为0,把0变为1,~x类似于-x-1

<<

左移动运算符:运算数的每个二进位全部左移若干位,由”<<”右边的数据指定移动的位数,高位丢弃,低位补0

>>

右移动运算符:把”>>”左边运算数的每个二进制位全部右移若干位,”>>”右边的数指定移动      的位数

3.1 按位与(&)

对两个数的每个二进制位执行与操作。

a = 5  # 二进制表示为 0101
b = 3  # 二进制表示为 0011

result = a & b  # 二进制结果为 0001,即十进制的1
print(result)  # 输出:1

3.2 按位或(|)

对两个数的每个二进制位执行或操作。

a = 5  # 二进制表示为 0101
b = 3  # 二进制表示为 0011

result = a | b  # 二进制结果为 0111,即十进制的7
print(result)  # 输出:7

3.3 按位异或(^)

对两个数的每个二进制位执行异或操作。

a = 5  # 二进制表示为 0101
b = 3  # 二进制表示为 0011

result = a ^ b  # 二进制结果为 0110,即十进制的6
print(result)  # 输出:6

3.4 按位取反(~)

对一个数的每个二进制位执行取反操作。

a = 5  # 二进制表示为 0101

result = ~a  # 结果为 -6
print(result)  # 输出:-6

3.5 左移运算符(<<)

将一个数的二进制位向左移动指定的位数。

a = 5  # 二进制表示为 0101

result = a << 2  # 二进制结果为 10100,即十进制的20
print(result)  # 输出:20

3.6 右移运算符(>>)

将一个数的二进制位向右移动指定的位数。

a = 20  # 二进制表示为 10100

result = a >> 2  # 二进制结果为 0101,即十进制的5
print(result)  # 输出:5

4. 运算符优先级

运算符

描述

**

指数 (最高优先级)

~

按位翻转

* / % //

乘,除,取模和取整除

+ –

加法减法

>> <<

右移,左移运算符

&

位 'AND'

^ |

位运算符

<= < > >=

比较运算符

<> == !=

等于运算符

= %= /= //= -= += *= **=

赋值运算符

is is not

身份运算符

in not in

成员运算符

not or and

逻辑运算符

实际使用中,记住如下简单的规则即可,复杂的表达式一定要使用小括号组织。

  • 优先加减
  • 位运算和算术运算>比较运算符>赋值运算符>逻辑运算符
  • result = 10 + 5 * 2
    # 乘法运算符*具有更高的优先级,所以先计算5*2,然后再加上10,结果为20
    
    
    
    result = (10 + 5) * 2
    # 括号改变了优先级,先计算括号内的加法运算,然后再乘以2,结果为30
    
    
    result = 5 + 2 < 8
    # 先计算5+2得到7,然后再与8进行比较,结果为True
    
    
    
    result = 5 > 2 and 3 < 6
    # 先计算5>2得到True,然后再计算3<6得到True,最后进行and操作,结果为True
    

    作者:还是那个同伟伟

    物联沃分享整理
    物联沃-IOTWORD物联网 » 第十一讲 python中的逻辑运算符-比较运算符-位运算符

    发表回复