1.算数运算符
注意下述例子中a,b都为int类型。
+ | 例:a=10,b=20,c=a+b,结果c=30 |
---|---|
- | 例:a=10,b=20,c=b-a,结果c=10 |
* | 例:a=10,b=20,c=a*b,结果c=200 |
/ | 例:a=10,b=20,c=b/a,结果c=2.0 |
% | 例:a=2,b=5,c=b%a,结果c=1,5除以2等于2余1,这余的1就是所得的结果 |
// | 例:a=3,b=20,c=b//3,结果c=6,20除以3得6余2,6为结果,余数舍去,是为整除 |
** | 例:a=2,b=3,c=a**b,结果c=8,是次方,相当于b个a相乘 |
//,**的运算优先级高于+,-,*,/
2.赋值运算符
= | 例:a=10,把值10赋予变量a |
---|---|
+= | 例:a+=10,等效于a=a+10 |
-= | 例:a-=10,等效于a=a-10 |
*= | 例:a*=10,等效于a=a*10 |
/= | 例:a/=10,等效于a=a/10 |
%= | 例:a%=10,等效于a=a%10 |
//= | 例:a//=10,等效于a=a//10 |
**= | 例:a**=10,等效于a=a**10 |
注意:如果要使用上述例子的赋值运算符需要先给 初始值a进行赋值。
3.比较运算符
== | 等于 |
---|---|
!= | 不等于 |
> | 大于 |
>= | 大于等于 |
< | 小于 |
<= | 小于等于 |
注意:比较的结果为布尔值True或False,例如print(3!=4),结果为True;字符串比较时先比各自的第一个字符,如果相同,则顺次向下比,例如"6">"11","13">"11"。
4.逻辑运算符
4.1 and
a | b | a and b | 说明 |
真 | 真 | 真 | 只有双真才为真 |
真 | 假 | 假 | 有一个假就是假 |
假 | 真 | 假 | 有一个假就是假 |
假 | 假 | 假 | 有一个假就是假 |
4.2 or
a | b | a and b | 说明 |
真 | 真 | 真 | 有一个真就为真 |
真 | 假 | 真 | 有一个真就为真 |
假 | 真 | 真 | 有一个真就为真 |
假 | 假 | 假 | 只有双假为假 |
4.3 not
a | not a | 说明 | |
真 | 假 | 相反的结果 | |
假 | 真 | 相反的结果 |
5. 位运算符
5.1 与运算(&)
与运算符(&)对两个二进制数的每一位进行与操作,只有在两个对应位都为 1 时,结果才为 1。
a = 5 # 二进制为 0101
b = 3 # 二进制为 0011
c = a & b
print(c) # 输出 1
5.2 或运算(|)
或运算符(|)对两个二进制数的每一位进行或操作,只要两个对应位中有一个为 1,结果就为 1。
a = 5 # 二进制为 0101
b = 3 # 二进制为 0011
c = a | b
print(c) # 输出 7
5.3 异或运算(^)
异或运算符(^)对两个二进制数的每一位进行异或操作,只有在两个对应位不相同时,结果为 1。
a = 5 # 二进制为 0101
b = 3 # 二进制为 0011
c = a ^ b
print(c) # 输出 6
5.4 取反运算(~)
取反运算符(~)对一个二进制数的每一位进行取反操作,即将 0 变为 1,将 1 变为 0。
a = 5 # 二进制为 0101
b = ~a
print(b) # 输出 -6
5.5 左移运算(<<)
左移运算符(<<)将一个二进制数的所有位向左移动指定的位数,右侧用 0 填充。
a = 5 # 二进制为 0101
b = a << 2
print(b) # 输出 20
5.6 右移运算(>>)
右移运算符(>>)将一个二进制数的所有位向右移动指定的位数,左侧用符号位填充(正数用 0 填充,负数用 1 填充)。
a = 5 # 二进制为 0101
c = a >> 1
print(c) # 输出 2
6 成员运算符
运算符 | 描述 | 实例 |
in | 如果在指定的序列中找到值返回True,否则返回False | x 在y 序列中, 如果x 在y 序列中返回True |
not in | 如果在指定的序列中没有找到值返回 True,否则返回False | x 不在y 序列中, 如果x 不在y 序列中返回True |
a = 10
b = 20
list = [1, 2, 3, 4, 5 ]
if ( a in list ):
print ("1 - 变量a 在给定的列表中list中")
else:
print ("1 - 变量a 不在给定的列表中list 中")