Python运算符包括赋值运算符、算术运算符、关系运算符、逻辑运算符、位运算符、成员运算符和身份运算符。

表达式是将不同类型的数据(常亮、变量、函数)用运算符按照一定得规则连

Python运算符包括赋值运算符、算术运算符、关系运算符、逻辑运算符、位运算符、成员运算符和身份运算符。

表达式是将不同类型的数据(常亮、变量、函数)用运算符按照一定得规则连接起来的式子。

算术运算符和算术表达式

算术运算符包括四则运算符、求模预算符和幂运算符。

算术运算符表达式说明

+x + y加法运算

-x - y减法运算

*x * y乘法运算

/x / y除法运算

%x%y求模运算

**x**yx的y次方

//x // y两数相除向下取整

Python中的除法运算(Python3.x)进行浮点数计算,也就是说 x/y返回的结果是浮点数。

%为取模运算,x%y的结果将是x除以y的余数。

如果要从整数相除中得到一个整数, 丢弃任何小数部分, 可以使用另一个操作符"//"。

x = 5
y = 3
a = 4
b = 2
print(x + y) #结果为 7
print(x - y) #结果为2
print(x * y) #结果为15
print(x / y) #结果为1.6666666666666667
不同的机器浮点数的结果可能不同
print(x // y) #向下去整结果为1
print(x % y) #两数相除取余结果为2
print(x**y) #5的3次幂结果为125
print(a / b) #结果为浮点数2.0
print(a % b)#取余结果为0
print(a // b)#取整结果为2

关系运算符是对两个对象进行比较。

运算符表达式说明

==a==b等于,比较对象是否相等

!=
或
<>
a !=b
a <>b

不等于,比较两个对象是否不相等

>a > b大于,比较a是否大于b

小于,比较a是否小于b

>=a>=b大于等于,比较a是否大于或者等于b

<=a<=b小于等于,比较a是否小于或者等于b

a = 4
b = 2
c = 2
print(a == b) #False
print(a != b) #True
print(a <> b)
#True
print(a > b) #True
print(a < b) #False
print(a >= b) #True
print(c <= b) #True

逻辑运算符与逻辑运算表达式

运算符表达式说明

anda and b逻辑与,当a为True时才计算b

ora or b逻辑或,当a为False时才计算b

notnot a逻辑非

a = 4
b = 2
c = 0
print(a>b and b>c)
#a>b为True继续计算b>c,b>c也为True则结果为True
print(a>b and bb为True继续计算cc结果为False则结果为False
print(a>b or cb为True则不继续计算c
print(not c
print(not a

位运算符

按位运算符是把数字看作二进制来进行计算的。

运算符表达式说明

&a & b

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

|a | b按位或运算符:只要对应的二个二进位有一个为1时,结果位就为1

^a ^ b

按位异或运算符:当两对应的二进位相异时,结果为1

~~a

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

<

左移动运算符:运算数的各二进位全部左移若干位,由"<<"右边的数指定移动的位数,高位丢弃,低位补0。

>>a>>2

右移动运算符:把">>"左边的运算数的各二进位全部右移若干位,">>"右边的数指定移动的位数

运算

操作

结果

a & b
0011 1100
& 0000 1101
0000 1100
12
a | b
0011 1100
| 0000 1101
0011 1101
61
a ^ b
0011 1100
^ 0000 1101
0011 0001
49
~a
~ 0011 1100
1100 0011
-61

有符号二进制数的补码

a << 2
0011 1100 -> 1111 0000
240
a >>2
0011 1100-> 0000 1111
15

赋值运算符

运算符表达式说明
=c=a + b简单赋值运算符, 将 a + b 的运算结果赋值为 c
+=c +=a加法赋值运算符 c += a 等效于 c = c + a
-=c -=a减法赋值运算符 c -= a 等效于 c = c - a
*=c *=a
乘法赋值运算符 c *= a 等效于 c = c * a
/=c /=a
除法赋值运算符 c /= a 等效于 c = c / a
%=c %=a
取模赋值运算符 c %= a 等效于 c = c % a
//=c //=a幂赋值运算符 c **= a 等效于 c = c ** a
**=c **=a

取整除赋值运算符 c //= a 等效于 c = c // a

成员运算符,测试实例中包含了一系列的成员,包括字符串,列表或元组。

运算符表达式说明

ina in b如果在指定的序列中找到值返回 True,否则返回 False。

not ina not in b如果在指定的序列中没有找到值返回 True,否则返回 False。

a=4
c=0
list = [1,2,3,4,5]
if (a in list):
print("%d is in
list:%r"%(a,list))
if (c not in list):
print("%d is not in list:
%r"%(c,list))

Python的算术表达式具有结合性和优先性。结合性是指表达式按照从左到右、先乘除后加减的原则进行计算。

Python运算符优先级(由高到低)

** 指数 (最高优先级)

~ + - 按位翻转, 一元加号和减号 (正负号)

* / % // 乘,除,取模和取整除

+ - 加法减法

>>

<< 右移,左移运算符

& 位 'AND'

^ | 位运算符

<= < >

>= 比较运算符

<> == !=

等于运算符

= %= /= //= -= += *= **= 赋值运算符

is is not 身份运算符

in not in 成员运算符

not or and 逻辑运算符

另外,小括号可以改变优先级,有()的情况优先计算()中的表达式。