|
和大多数语言一样,Python也有很多运算符,并且运算符跟其他语言的运算符大同小异接下来一一介绍:
算术运算符:
运算符 | 描述 | 实例 | + | 加 - 两个对象相加 | a+b的输出结果是30 | - | 减 - 得到复数或者一个数减去另外一个数 | a-b的输出结果是10 | * | 乘 - 两个数相乘或是返回一个被重复若干次的字符串 | a*b的结果是200 | / | 除 -x 除以y
| a/b的结果是2 | % | 取模 - 返回除法的余数 | b/a的结果是0 | .. | 幂- 返回x的y次幂
| a**b为10的20次方 | // | 取整除 - 返回商的整数部分 | 9//2的结果是4,9.0//2.0的结果是4.0 |
比较运算符:
运算符 | 描述 | 实例 | == | 等于-比较对象是否相等 | (a==b)返回False | != | 不等于 - 比较两个对象是否不相等 | (a!=b)返回True | <> | 不等于 - 比较两个对象是否不相等(与!=等价) | (a<>b)返回true,这个运算类似于!= | > | 大于 - 返回x是否大于y | (a>b)返回False | < | 小于 - 返回x是否小于y。所有比较运算符返回1表示真,返回0表示假,他们分别于特殊的变量True和False等价,注意:这些变量的大写 | (a<b)返回true | >= | 大于等于- 返回x是否大于等于y | (a>=b)返回False | <= | 小于等于 - 返回x是否小于等于y | (a<=b)返回true |
赋值运算符:
运算符 | 描述 | 实例 | =
| 简单的赋值运算符 | c=a+b将a+b的运算结果赋值为c | += | 加法赋值运算符 | 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 |
逻辑运算符:
运算符 | 描述 | 实例 | and | 布尔"与"如果x为False,x and y 返回False,否则它返回y的计算值 | (a and b)返
回true
| or | 布尔"或",如果x是True,它返回True,否则它返回y的值 | (a or b)返回true
| not in | 布尔"非",如果x为True,返回False,如果x为False,它发挥True | not(a and b) 返回false |
成员运算:
运算符 | 描述 | 实例 | in | 如果在指定的序列中找到值返回True,否则返回False | x在y序列中,如果x在y序列中返回True | not in | 入股在指定的序列中没有找到返回True,否则返回False | x不在y序列中,如果不在y序列中返回True |
身份运算:
运算符
| 描述 | 实例 | is | is是判断两个标识符是不是引用同一个对象 | x is y,如果id(x)等于id(y),is返回结果1 | is not | is not 是判断两个标识符是不是引用不同的对象 | x is not y,如果id(x)不等于id(y)返回结果1 |
位运算符:
运算符 | 描述 | 实例 | &
| 按位与运算符 | (a&b)输出结果12,二进制解释:0000 1100 | | | 按位或运算符 | (a|b)输出结果61,二进制解释:0011 1101 | ^ | 按位异或运算符 | (a^b)输出结果49,二进制解释:0011 0001 | ~ | 按位取反运算符 | (~a)输出结果-61,二进制解释:1100 0011,在一个有符号二进制数的补码形式 | << | 左移运算符 | a<<2输出结果为240,二进制解释:1111 0000 | >> | 右移运算符 | a>>2输出结果为15,二进制解释:0000 1111
|
代码如下:
#!/usr/bin/python
a = 60 # 60 = 0011 1100
b = 13 # 13 = 0000 1101
c = 0
c = a & b; # 12 = 0000 1100
print "Line 1 - Value of c is ", c
c = a | b; # 61 = 0011 1101
print "Line 2 - Value of c is ", c
c = a ^ b; # 49 = 0011 0001
print "Line 3 - Value of c is ", c
c = ~a; # -61 = 1100 0011
print "Line 4 - Value of c is ", c
c = a << 2; # 240 = 1111 0000
print "Line 5 - Value of c is ", c
运算符优先级:
运算符 | 描述 | ** | 指数(最高优先级) | ~、+、- | 按位翻转,一元加号和减号(最后两个方法名为+@he -@) | *、/、%、// | 乘、除、取模、取整除 | +、- | 加法减法 | >>、<< | 右移、左移运算符 | & | 位"AND" | ^ | 位运算符 | <=、 <>、 >= | 比较运算符 | <> 、== 、!= | 等于运算符 | =、 %=、 /= 、//= 、-=、 +=、 *=、 **= | 赋值运算符 | is 、is not | 身份运算符 | in 、not in | 成员运算符 | not 、or and | 逻辑运算符 |
|
|
|