算术运算符
python3算术运算符:
- 加 - 两个对象相加
- 减 - 得到负数或是一个数减去另一个数
- 乘 - 两个数相乘或是返回一个被重复若干次的字符串
除 - x 除以 y
% 取模 - 返回除法的余数
** 幂 - 返回x的y次幂
// 取整除 - 向下取接近商的整数
举个栗子:
a=21
b=10
c=a+b #加 31
d=a-b #减 11
e=a*b #乘 210
f=a/b #除 2.1
g=a%b #取模 1
h=b**2 #幂 100
i=a//b #取整除 2
print(c,d,e,f,g,h,i) #输出
比较(关系)运算符
python3比较运算符:
== 等于 - 比较对象是否相等
!= 不等于 - 比较两个对象是否不相等
'>' 大于 - 返回x是否大于y
'<' 小于 - 返回x是否小于y。
= 大于等于 - 返回x是否大于等于y。
<= 小于等于 - 返回x是否小于等于y。
注意:所有比较运算符返回1表示真,0表示假。这分别与特殊变量True和False等价。
举个栗子:
a=20
b=10
print(a==b) #比较20是否等于10 ,输出结果False
print(a!=b) #比较20是否不等于10 ,输出结果True
print(a>b) #比较20是否大于10 ,输出结果True
print(a<b) #比较20是否小于10 ,输出结果False
print(a>=b) #比较20是否大于等于10 ,输出结果True
print(a<=b) #比较20是否小于等于10 ,输出结果False
赋值运算符
python3赋值运算符:
= 简单的赋值运算符
+= 加法赋值运算符
-= 减法赋值运算符
*= 乘法赋值运算符
/= 除法赋值运算符
%= 取模赋值运算符
**= 幂赋值运算符
//= 取整除赋值运算符
举个栗子:
a=5
b=2
a+=b #相当于a=a+b,将a+b的值赋给a,此时a的值变为7
a-=b #相当于a=a-b,将a-b的值赋给a,此时a的值变为5
a*=b #相当于a=a*b,将a*b的值赋给a,此时a的值变为10
a/=b #相当于a=a/b,将a/b的值赋给a,此时a的值变为5.0
a%=b #相当于a=a%b,将a%b的值赋给a,此时a的值变为1.0
a**=b #相当于a=a**b,将a**b的值赋给a,此时a的值变为1.0
a//=b #相当于a=a//b,将a//b的值赋给a,此时a的值变为0.0
逻辑运算符
pythn3逻辑运算符:
and x and y 布尔"与" - 如果 x 和 y 均为 True ,则返回 True,否则,返回 False。
or x or y 布尔"或" - 如果 x 或 Y 任意一个为True或两个都为 True,返回 True,否则返回 False。
not not x 布尔"非" - 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。
举个栗子:
a=0
b=1
if(a and b):
print("a和b全为true")
else:
print("a和b不全为true") #输出成功
if(a or b):
print("a和b存在至少一个为true") #输出成功
else:
print("a和b均不为true")
if(not a):
print("a不为true") #输出成功
else:
print("a为true")
位运算符
按位运算符是把数字看作二进制来进行计算的,则python3的为运算符:
& 按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0
| 按位或运算符:只要对应的两个二进位有一个为1时,结果位就为1,否则为0
^ 按位异或运算符:当两对应的二进位相异时,结果为1,否则为0
'<<' 左移动运算符:运算数的各二进位全左移若干位,由"<<"右边的数指定移动位数,高位丢弃,低位补0
'>>' 右移动运算符:把">>"左边的运算数的各二进位全部右移若干位,">>"右边的数指定移动的位数
举个栗子:
a=20 #对应二进制10100
b=22 #对应二进制10110
print(a & b) #10100与10110的每一位进行&操作,结果为10100,对应十进制20
print(a | b) #10100与10110的每一位进行|操作,结果为10110,对应十进制22
print(a ^ b) #10100与10110的每一位进行^操作,结果为10,对应十进制2
print(a << 2) #10100的每一位进行<<操作,结果为1010000,对应十进制80
print(a >> 2) #10100的每一位进行>>操作,结果为101,对应十进制5
成员运算符
Python3成员运算符:
in -- 如果在指定的序列中找到值返回 True,否则返回 False。
not in -- 如果在指定的序列中没有找到值返回 True,否则返回 False。
举个栗子:
a = 10
b = 20
list = [1, 2, 3, 4, 5];
if (a in list):
print(" a 在给定的列表 list 中")
else:
print(" a 不在给定的列表 list 中") #成功输出
if (b not in list):
print(" b 不在给定的列表 list 中") #成功输出
else:
print(" b 在给定的列表 list 中")
身份运算符
来到我们身份运算符:
is 是判断两个标识符是不是引用自一个对象,如果引用的是同一个对象则返回 True,否则返回 False。
is not 是判断两个标识符是不是引用自不同对象,如果引用的不是同一个对象则返回结果 True,否则返回 False。
举个栗子:
a = 20
b = 30
if (a is b):
print("a 和 b 有相同的标识")
else:
print("a 和 b 没有相同的标识")
if (a is not b):
print("a 和 b 没有相同的标识")
else:
print("a 和 b 有相同的标识")
运算符优先级
最后看到我们运算符的优先级:
** -- 指数 (最高优先级)
~ 、+ 、- -- 按位翻转, 一元加号和减号 (最后两个的方法名为 +@ 和 -@)
- 、/、 %、 // -- 乘,除,求余数和取整除
- 、- -- 加法减法
、 << -- 右移,左移运算符
& -- 位 'AND'
^ 、| -- 位运算符
<=、 < 、> 、>= -- 比较运算符
== 、!= -- 等于运算符
= 、%= 、/=、 //=、 -= 、+=、 = 、*= -- 赋值运算符
is 、is not -- 身份运算符
in 、not in -- 成员运算符
not、 and 、or -- 逻辑运算符
可以看到我们上诉的运算符优先级是从上往下的,即遇到不同等级的运算符时,先计算优先级高的运算,依次往优先级最低的运算。
网友评论