#Python中常用的运算符#算数运算符#赋值运算符#比较运算符#布尔运算符#位运算符#算术运算符 --> 标准算术运算符、取余运算符、幂运算符# 标准运算符 --> 加+减-乘*除/整除//# 取余运算符 --> %# 幂运算符 --> **################################print(1+1)#加法运算print(1-1)#减法运算print(2*4)#乘法运算print(11/2)#除法运算print(11//2)#结果5,整除运算print(11%2)#取余运算print(2**3)#表示2的3次方############################################################一正一负的取余和整除print(9//4)#结果2print(-9//-4)#结果2print(-9//4)#结果-3, 一正一负的整除,向下取整print(9//-4)#结果-3print(9%-4)#结果-3 公式 --> 余数=被除数-除数*商 9-(-4)*(-3)print(-9%4)#结果3 -9-4*(-3)#############################赋值运算符 --> 运算顺序从右往左# 支持链式赋值 --> a=b=c=20# 支持参数赋值 --> += -= *= /= //= %=# 支持系列解包赋值 --> a,b,c=20,30,40###########################i=3+4print(i)a=b=c=20#链式赋值print(a,b,c)a=20###########################a+=30#a=a+30, a+30赋值给aprint(a)a-=10#a=a-10print(a)a*=2#a=a*2print(a,type(a))#inta/=3#a=a/3print(a,type(a))#floata//=2#a=a//2print(a,type(a))a%=3#a=a%3print(a,type(a))#############################a,b,c=20,30,40print(a,b,c)#例子,交换两个变量的值a,b=10,20print('交换之前',a,b)a,b=b,aprint('交换之后',a,b)###############比较运算符 --> 对变量或表达式的结果进行大小、真假等比较#比较运算符的结果为bool类型# >, <, >=, <=,!=# == -->对象值(value)的比较# is, is not --> 对象id的比较##################################a,b=10,20print('a>b吗',a>b)#Falseprint('a=b吗',a>=b)print('a<=b吗',a<=b)print('a==b吗',a==b)print('a!=b吗',a!=b)#########################一个变量由三部分组成,标识,类型,值#== 比较的是值(value)#比较对象的标识使用 isa=10b=10print(a==b)#True 说明a与b的值(value)相等print(a is b)#True 说明a与b的标识(id)相等lst1=[11,22,33,44]lst2=[11,22,33,44]print(lst1==lst2)print(lst1 is lst2)print(id(lst1))print(id(lst2))#################################bool运算符 --> and,or,not,in,not in#and --> 两个运算数都为True时,运算结果才为True#or --> 只要有一个为True,运算结果就为True#not --> 如果运算数为True,则运算结果为False# 如果运算数为False,则运算结果为True即取反###############################a,b=1,2print(a==1 and b==2)#True True and True --> Trueprint(a==1 and b<2)#False True and False --> Falseprint(a!=1 and b==2)#False False and True --> Falseprint(a!=1 and b!=2)#False False and False --> False###################################print(a==1 or b==2)#True True or True --> Trueprint(a==1 or b<2)#False True or False --> Trueprint(a!=1 or b==2)#False False or True --> Trueprint(a!=1 or b!=2)#False False or False --> Falsef=Truef2=Falseprint(not f)#not对bool类型的操作数取反print(not f2)####################s='helloworld'print('w' in s)print('k' in s)print('w' not in s)print('k' not in s)########################位运算符 --> 位与& 对应位数都是1,结果才是1# 位或| 对应位数都是0,结果才是0,否则为1# 左移运算符<< 高位溢出舍弃,低位补0# 右移运算符>> 低位溢出舍弃,高位补0#4的2进制 00000100#8的2进制 00001000#4&8 00000000 结果为0#4|8 00001100 结果为1*2**3+1*2**2=12#4左移一位 (高位舍弃) 000000100(低位补0)结果为8 向左移动一位相当于乘2**1#4左移一位 (高位舍弃) 000000100(低位补0)结果为16 向左移动位相当于乘2**2#4右移一位 (高位补0) 00000100(低位舍弃) 结果为2 向左移动一位相当于除以2**1print(4&8)#按位与,按位即对应位置操作,同为1时结果为1print(4|8)#按位或,同为0时才为0,或只要有一个1就为1print(4<<1)#左移1位print(4<<2)#左移2位print(4>>1)print(4>>3)#运算符的优先级#######################################** --> *,/,//,% --> +,- --> <<,>> --> & --> | --> >,<,>=,<=,==,!= --> and-->or-->=#算数运算符-->位运算-->比较运算-->bool运算-->赋值#有括号先算括号#先算乘除后算加减有幂运算先算幂