Python运算符及运算符优先级

本文详细介绍了Python中的算术、赋值、比较、布尔和位运算符,包括它们的用法、示例以及运算符的优先级规则。通过实例展示了不同运算符在实际编程中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、运算符

1、算术运算符

        对数字进行数学运算,比如加减乘除等。

常用算术运算符
运算符说明举例结果
+1.2+1.32.5
-1.3-1.20.1
*1.3*1.21.56
/1.3/1.21.0833333333333335
//整除1.3//1.21.0
%取余,即返回除法的余数1.3%1.20.10000000000000009
**幂次方运算1.3**1.21.3700361376803185

Python脚本: 

import decimal

print("-----加-----")
a = 1.3 
b = 1.2
print(a+b)

print("-----减-----")
a = 1.3 
b = 1.2
c = decimal.Decimal("1.3")
d = decimal.Decimal("1.2")
print(a-b)
print(c-d)

print("-----乘-----")
a = 1.3 
b = 1.2
print(a*b)

print("-----除-----")
a = 1.3 
b = 1.2
print(a/b)

print("-----整除-----")
a = 1.3 
b = 1.2
print(a//b)

print("-----取余-----")
a = 1.3 
b = 1.2
print(a%b)

print("-----幂次方-----")
a = 1.3 
b = 1.2
print(a**b)

 输出结果:

2、赋值运算符

(1)执行顺序:右→左

(2)支持链式赋值:a=b=c=10

(3)支持参数赋值:+=、-=、*=、/=、//=、%=

(4)支持系列解包赋值:a,b,c=1,2,3 

Python脚本:

print("-----执行顺序:右→左-----")
a = 1+2
print(a)


print("-----支持链式赋值-----")
b = c= d = 10
print(b,id(b))
print(c,id(c))
print(d,id(d))


print("-----支持参数赋值:+=、-=、*=、/=、//=、%=-----")
a = 10
a += 1
print(a)

b = 2
b -= 1
print(b)

c = 3
c *= 4
print(c)

d = 5
d /= 2
print(d)

e = 5
e //=2
print(e)

f = 5
f %= 2
print(f)


print("-----支持系列解包赋值-----")
m,n,s = 1,2,3
print(m,id(m))
print(n,id(n))
print(s,id(s))

输出结果:

3、比较运算符

 对变量或表达式的结果进行大小、真假比较

 比较运算符:>,<,>=,<=,!=

 == :对象value的比较

 is,is not:对象id的比较

Python脚本:

print('----->,<,>=,<=,!=-----')
a = 1
b = 2
print('a>b吗?',a>b)
print('a<b吗?',a<b)
print('a>=b吗?',a>=b)
print('a<=b吗?',a<=b)
print('a≠b吗?',a!=b)


print('----- == :对象value的比较-----')
c = 3
d = 4
e = 3
print(c==d)
print(c==e)


print('-----  is,is not:对象id的比较-----')
c = 3
d = 4
e = 3
print(c is not d)
print(c is  d)
print(c is not e)
print(c is  e)

输出结果:

4、布尔运算符

 布尔运算符:and,or,not,in,not in

布尔运算符图表
运算符运算数运算结果备注
andTrueTrueTrue当两个运算数都为True时,运算结果为True
TrueFalseFalse
FalseTrue
FalseFalse
orTrueTrueTrue只要有一个运算数为True,运算结果为True
TrueFalse
FalseTrue
FalseFalseFalse
notTrueFalse如果运算数为True,运算结果为False
FalseTrue如果运算数为False,运算结果为True

 Python脚本:

print('-----and-----')
a,b = 1,2
print(a==1 and b==2)
print(a==1 and b!=2)
print(a!=1 and b==2)
print(a!=1 and b!=2)



print('-----or-----')
a,b = 1,2
print(a==1 or b==2)
print(a==1 or b!=2)
print(a!=1 or b==2)
print(a!=1 or b!=2)


print('-----not-----')
c = False
d = True
print(not c)
print(not d)


print('-----in/not in-----')
s = 'Hello'
print('H' in s)
print('H' not in s)
print('s' in s)
print('s' not in s)

输出结果:

5、位运算符

        将数据转成二进制进行计算,数字转换为二进制使用内置函数: bin() 

 (1)位与&:对应数位都是1,结果数位才是1,否则为0

 (2)位或 | :对应数位都是0,结果数位才是0,否则为1

 (3)左移位运算符<<:高位溢出舍弃,低位补0

 (4)右移位运算符>>:低位溢出舍弃,高位补0

Python脚本:

a = 4
b = 8
m = bin(a)#转换为二进制
n = bin(b)#转换为二进制

print("-----4&8-----")
print(4&8)

print("-----4|8-----")
print(4|8)

print("-----4>>1-----")
print(4>>1)

print("-----4<<1-----")
print(4<<1)

输出结果:

运算逻辑:

4&8运算逻辑
000001004
000010008
000000000
4|8运算逻辑
000001004
000010008
0000110012
4>>1运算逻辑--右移位运算符
000001004
00000100
高位补00000010低位截断2
4<<1运算逻辑--左移位运算符
000001004
00000100
高位溢出0000100低位补08

二、运算符优先级

       算术运算符→位运算符→比较运算符→布尔运算符→赋值运算符

前提:无括号,有括号,括号内优先 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值