1.算术运算符

运算符

描述

 +

 两个值相加

 -

 两个值相减

 *

 两个值相乘

 /

 两个值相除

 %

 得到两个数相除的余数

 **

 x**y得到x的y次幂

 //

 返回两个数相除商的整数部分

 

 

 

 

 

 



a = 32
b = 19

print("+)返回两个值的和:", a + b)  # 51
print("-)返回两个值的差:", a - b)  # 13
print("*)返回两个值的乘积:", a * b)  # 608
print("/)返回两个值的商:", a / b)  # 1.6842105263157894
print("%)返回两个值相除的余数:", a % b)  # 11
print("**)返回2的3次幂:", 2 ** 3)  # 8
print("//)返回两个值相除的整数部分", a // b)  # 1



说明:在Python中,*运算符可以用于字符串,计算的结果就是字符串重复指定次数的结果。



print("*"*30)  # ******************************



 2.比较运算符

运算符

描述

==

比较两个对象是否相等,相等返回true,不相等,返回false

!=

比较两个对象是否不相等,不相等返回true,相等返回false

>

 比较第一个对象是否大于第二个对象,大于,返回true,否则返回false

<

 比较第一个对象是否小于第二个对象,小于,返回true,否则返回false

>=

 比较第一个对象是否大于等于第二个对象,大于等于,返回true,否则返回false

<=

 比较第一个对象是否小于等于第二个对象,小于等于,返回true,否则返回false

 

 

 

 

 

 



a = 32
b = 32
print("==)比较两个值是否相等:", a == b)  # True
print("!=)比较两个值是否不相等:", a != b)  # False
a = 40
b = 32
print(">)比较第一个值是否大于第二个值:", a > b)  # True
print("<)比较第一个值是否小于第二个值:", a < b)  # False
b = 40
print(">=)比较第一个值是否大于等于第二个值:", a >= b)  # True
print("<=)比较第一个值是否小于等于第二个值:", a <= b)  # True



 3.赋值运算符

运算符

描述

=

把右边的值赋给左边的

+=

左边的值等于左边的值加上右边的值

-=

左边的值等于左边的值减去右边的值

*=

左边的值等于左边的值乘上右边的值

/=

左边的值等于左边的值除以右边的值

%=

左边的值等于左边的值属于右边的值的余数

//=

左边的值等于左边的值除以右边的值的整数部分

**=

左边的值等于左边的值的右边值的次幂

 

 

 

 

 

 

 



a = 13
b = 6
a += b
print("+=):", a)  # 19
a = 13
b = 6
a -= b
print("-=):", a)  # 7
a = 13
b = 6
a *= b
print("*=):", a)  # 78
a = 13
b = 6
a /= b
print("/=):", a)  # 2.1666666666666665
a = 13
b = 6
a %= b
print("%=):", a)  # 1
a = 13
b = 6
a //= b
print("//=):", a)  # 2
a = 13
b = 6
a **= b
print("**=):", a)  # 4826809



 4.位运算符

运算符

描述

&

按位与运算符,两个值的相应位都为1,该位结果为1,否则为0

|

按位或运算符,两个值的相应位其中一个为1,则该位结果为1,否则为0

^

按位亦或运算符,两个值的相应位不相同时,则该结果为1,否则为0

~

按位取反运算符,对数据的每个二进制位取反,即把1变成0,把0变成1

<<

按位左移运算符,把二进制位全部左移若干位

>>

按位右移运算符,把二进制位全部右移若干位

 

 

 

 

 

 



a = 5  # 00000101
b = 6  # 00000110
c = a | b
print("a|b):", c)  # 7
print("a&b):", a & b)  # 4
print("~a):", ~a)  # ~a=-(a+1)  -6
print("a^b):", a ^ b)  # 3
print("<<):", a << 2)  # 20
print(">>):", a >> 2)  # 1



注:按位取反的计算公式:~a=-(a+1),a+1然后加上负号,~12的二进制位00001100,加1之后为00001101,十进制为13,加上负号为-13。

5.逻辑运算符

运算符

描述

and 

布尔与,左边和右边均为True,则返回右边的计算值,否则左边为True,则返回右边的值,右边为True,则返回左边的值

or

布尔或,如果左边值为True,则返回左边的值,否则返回右边的值

not

布尔非,如果值为True,则结果为False,如果值为False,则结果为True

 

 

 



a = 12
b = 13
print("and):", a and b)  # 13
a = 1
b = 0
print("and):", a and b)  # 0
a = 0
b = 1
print("and):", a and b)  # 0
a = 1
b = 0
print("or):", a or b)  # 1
a = 0
b = 1
print("or):", a or b)  # 1
print("not):", not a)  # True
print("not):", not b)  # False



6.成员运算符

运算符

描述

in

如果在指定的列表中找到值则返回True,否则返回False

not in

如果在指定的列表中没有找到值则返回True,否则返回False

 

 

 



lists = [1, 2, 3, 4, 5, 6, 7]
print("in):", (1 in lists))  # True
print("in):", (12 in lists))  # False
print("not in):", (12 not in lists))  # True



7.身份运算符

身份运算符是判断两个对象的内存地址是否一样,即是否是同一个对象的引用。

运算符

描述

is 

判断两个对象的内存地址是否一样

is not

判断两个对象的内存地址是否不一样

 

 

 



lists = [1, 2, 3, 4, 5, 6, 7]
lists_copy = [1, 2, 3, 4, 5, 6, 7]
print("is):", lists is lists_copy)  # False
print("not is):", lists is not lists_copy)  # True
print("==):", lists_copy == lists)  # True



注:is和==的区别为is判断内存地址是否一样,而==判断的是值是否一样。

8.运算符的优先级

对于运算符的优先级了解即可吧,可以通过括号控制运算符的优先级。