Python运算符

本文详细介绍了Python中的各类运算符,包括算数、赋值、比较、布尔和位运算符等。阐述了各运算符的运算规则、执行顺序及特点,如算数运算符中的整除规则、赋值运算符的链式赋值等,还提及了运算符的优先级。

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

目录

算数运算符

标准算数运算符

取余运算符

幂运算符

赋值运算符

执行顺序

链式赋值

参数赋值

系列解包赋值

比较运算符

值(value)的比较

标识(id)的比较

布尔运算符

and

or

not

in / not in

位运算符

位与 &

位或 |

位移 << / >>

运算符的优先级


算数运算符

标准算数运算符

加(+)、减(-)、乘(*)、除(/)、整除(//)  整除不管正负向下取整

print(1+1)  #加法运算
print(1-1)  #减法运算
print(3*2)  #乘法运算
print(3/2)  #除法运算
print(3//2)  #整除运算
print(3//-2)

运算结果

取余运算符

又叫取模运算符(%)  一正一负按公式计算: 余数 = 被除数 - 除数 *整除商

print(11%2)  #取余运算
print(11%-2)
print(-11%2)

运算结果

幂运算符

(**)

print(2**3)  #幂运算 2的3次方

运行结果


赋值运算符

执行顺序

  • 自右向左
a=10
print(a)

运行结果

链式赋值

  • 变量内存地址、类型、值都相同
a=b=c=10
print(a,id(a))
print(b,id(b))
print(c,id(c))

运行结果

参数赋值

  • 自加(+=)、自减(-=)、自乘(*=)、自除(/=)、自整除(//=)、自取余(%=)
  • 过程中变量的数据类型可能会发生改变
a=30
a+=10
print(a,type(a))
a-=10
print(a,type(a))
a*=2
print(a,type(a))
a/=3
print(a,type(a))
a//=3
print(a,type(a))
a%=3
print(a,type(a))

运行结果

系列解包赋值

  • 同时完成多个变量的赋值
  • 也可以用于交换多个变量的值,而不需要使用交换变量
a,b,c=10,20,30
print('交换之前:a,b,c=',a,b,c)
a,b,c=c,a,b
print('交换之后:a,b,c=',a,b,c)

运行结果


比较运算符

对变量或表达式的结果进行大小、真假等比较,返回值为True或False。

值(value)的比较

大于(>)、小于(<)、大于等于(>=)、小于等于(<=)、不等于(!=)、等于(==)

a,b=10,20

print('a=',a)
print('b=',b)
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('a==b?',a==b)

运行结果

标识(id)的比较

是(is)、不是(is not)

a,b=10,10
print('a=',a,',id(a)=',id(a))
print('b=',b,',id(b)=',id(b))
print('id(a)==id(b)?',a is b)
print('id(a)!=id(b)?',a is not b)

list1,list2=[10,10],[10,10]
print('list1=',list1,',id(list1)=',id(list1))
print('list2=',list2,',id(list2)=',id(list2))
print('id(list1)==id(list2)?',list1 is list2)
print('id(list1)!=id(list2)?',list1 is not list2)

运行结果


布尔运算符

and

两个运算数都为True时,才返回True。

or

只要有一个运算数为True,就返回True。

not

对bool类型变量值取反。

in / not in

s='helloworld'

print('w' in s)
print('k' in s)
print('w' not in s)
print('k' not in s)

运行结果


位运算符

将数据转换成二进制进行计算,返回十进制值。

位与 &

对应数位都是1,结果数位才是1,否则为0

print('4的二进制表示:00000100')
print('8的二进制表示:00001000')
print('4&8的结果为: 00000000')
print('4&8=',4&8)

运行结果 

位或 |

对应数位都是0,结果数位才是0,否则为1

print('4的二进制表示:00000100')
print('8的二进制表示:00001000')
print('4|8的结果为: 00001100')
print('4|8=',4|8)

运行结果

位移 << / >>

左移位<<:高位溢出舍弃,低位补0

右移位>>:低位溢出舍弃,高位补0

print('4的二进制表示:00000100')
print('4<<1的结果为:00001000')
print('4<<1=',4<<1)

print('4的二进制表示:00000100')
print('4>>2的结果为:00000001')
print('4>>2=',4>>2)

运行结果


运算符的优先级

优先级运算符
1括号 ()
2算数运算符① **
② *,/,//,%
③ +,-
3位运算符① <<,>>
② &
③ |
4比较运算符 >,<,>=,<=,==,!=
5布尔运算符① and
② or
6赋值运算符 =

Flag:我要成为一个日更选手:)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值