算数运算符
加减乘:
+ - *
小数除:/
地板除://
幂运算:**
取余:%
小数除:结果为整数时也会加上 .0
地板除:*返回整数 (直接舍弃小数位,不会四舍五入)
如果被除数和除数是一个小数,结果加上 *.0
任意数和n进行地板除//,会出现n个相同的数字
取余规律:任意数和n取余,范围都是 0 ~ (n-1)
负数取余:被除数是负数:-(余数) + 除数
除数是负数:余数 + 除数
被除数、除数都是负数:-(余数)
求数字位数:个位:n % 10
十位:n // 10 % 10
百位:n // 100
(限3位数)
() > 幂运算 > 取余 > 乘除 > 加减
比较运算符
等于判断:
==
不等于判断:!=
大于判断:>
小于判断:<
大于等于判断:>=
小于等于判断:<=
判断成立返回 True,不成立返回 False
赋值运算符
+=
a=a+1 -> a+=1
-=
a=a-1 -> a-=1
*=
a=a*1 -> a*=1
/=
a=a/1 -> a/=1
//=
a=a//1 -> a//=1
%=
a=a%1 -> a%=1
**=
a=a**1 -> a**=1
成员运算符
存在判断:
in
不存在判断:not in
in 存在返回 True,不存在返回 False,not in 则相反
成员运算符仅用于容器型数据:str、list、tuple、set、dict
字符串必须是一个连续的片段,不能是离散片段
身份运算符
判断指向同一个内存值:
is
判断指向不同的内存值:is not
is 为同一内存值返回 True,否则返回 False,is not则相反
逻辑运算符
and:
同时满足,方才为真 (与)
or:满足其一即为真 (或)
not:取反,假为真,真为假 (非)
True or:后面不执行
False or True:结果为后面
False and True:后面不执行
True and True:结果为后面
位运算
按位与:
&
必须同时满足
0 & 0 = 0
0 & 1 = 0
1 & 0 = 0
1 & 1 = 1
按位或:
|
满足其一,或者都满足
0 | 0 = 0
0 | 1 = 1
1 | 0 = 1
1 | 1 = 1
按位异或:
^
只能满足其一
0 ^ 0 = 0
0 ^ 1 = 1
1 ^ 0 = 1
1 ^ 1 = 0
按位非:
~
公式:-(n+1)
左移:
<<
二进制左移若干位,右补0
相当于做乘法:乘以2的n次幂(n是左移的位数)
右移:
>>
右移若干位,左补0
相当于做除法:除以2的n次幂(n是右移的位数)
运算符等级
优先级最高:
**(幂运算)
优先级最低:=(赋值)
()
可以提升运算优先级
一元运算符 > 二元运算符
一元运算符:同一时间,只操作一个值(- ~)
二元运算符:同一时间,操作两个值(+ - * /等等)
逻辑:
() > not > and > or
算数:() > 幂运算 > 取余 > 乘除 > 加减
位运算:(<<, >>) > & > ^ > |
其它运算:算数运算 > 位运算 > 比较运算 > 身份运算 > 成员运算 > 逻辑运算
赋值运算是最后全部运算完进行赋值