Python语言支持以下类型的运算符:

算术运算符

比较(关系)运算符

赋值运算符

逻辑运算符

位运算符

成员运算符

身份运算符

运算符优先级

1、算术运算符

加号(+)、减号(-)、乘(*)、除(/)、取余(%)、乘方(**)、整除(//)

1、其中除号(/)要注意:在python2中,(/)用作整除。

解决方法有三:

1、两个相除的数中有一个为实数。

2、from __future__ import division

4、在打开python解释器的时候,加上参数-Qnew



2、(%)取余操作作用:比如时间上每十分钟检查一次,只要看看时间%10是否等于0即可。或者闰年什么的

2、比较运算符

是否相等(==),返回True/False

是否不等(!=)或者(<>)

>

<

>=

=<

3、赋值运算符

=,简单的赋值运算符

+=,加法赋值运算符,c += a 等价于 c = c + a

-=,减法赋值运算符,c -= a 等价于 c = c - a

*=,乘法赋值运算符,c *= a 等价于 c = c * a

/=,除法赋值运算符,c /= a 等价于 c = c / a

%=,取模赋值运算符,c %= a 等价于 c = c % a

**=,乘方赋值运算符,c **= a 等价于 c = c**a

//=,取整赋值运算符,c //= a 等价于 c = c // a

4、位运算符

按位运算符是把数字看作二进制来进行计算的。Python中的按位运算法则如下:

下表中变量 a 为 60,b 为 13。

运算符

描述

实例

&

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

(a & b) 输出结果 12 ,二进制解释: 0000 1100

|

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

(a | b) 输出结果 61 ,二进制解释: 0011 1101

^

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

(a ^ b) 输出结果 49 ,二进制解释: 0011 0001

~

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

(~a ) 输出结果 -61 ,二进制解释: 1100 0011, 在一个有符号二进制数的补码形式。

<<

左移动运算符:运算数的各二进位全部左移若干位,由"<

a << 2 输出结果 240 ,二进制解释: 1111 0000

>>

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

a >> 2 输出结果 15 ,二进制解释: 0000 1111

以下实例演示了Python所有位运算符的操作:

#!/usr/bin/python# -*- coding: UTF-8 -*-a=60# 60 = 0011 1100b=13# 13 = 0000 1101c=0c=a&b;# 12 = 0000 1100print"1 - c 的值为:",c

c=a|b;# 61 = 0011 1101print"2 - c 的值为:",c

c=a^b;# 49 = 0011 0001print"3 - c 的值为:",c

c=~a;# -61 = 1100 0011print"4 - c 的值为:",c

c=a<<2;# 240 = 1111 0000print"5 - c 的值为:",c

c=a>>2;# 15 = 0000 1111print"6 - c 的值为:",c

以上实例输出结果:

1-c的值为:122-c的值为:613-c的值为:494-c的值为:-615-c的值为:2406-c的值为:15

5、逻辑运算符

and、or、not

6、成员运算符

in、not in 返回True or False


7、身份运算符

is:判断两个变量是否引用同一个对象

is not:判断两个变量是否引用了不同对象

注:Python中对象由三个部分组成:id、type、value

其中id用来唯一标识一个对象,type用来标识对象的类型,value用来标识对象的值

==用来判断value是否相等

is用来判断对象是否相同,用id判断


注意!!!Python在值很小时,赋予相同的values同一个id,值很大时,不对