前言
给大家介绍了python中的基本数据类型等,这篇文章接着给大家补充python中的运算符等相关内容。
运算符
python中的运算符主要有:算术运算符,赋值运算符,比较运算符,布尔运算符以及位运算符。
算术运算符
运算符 | 名称 | 举例 |
+ | 加 | print(1+2) #3 |
- | 减 | print(1-2)#-1 |
* | 乘 | print(1*2)#2 |
\ | 除 | print(1/2)#0.5 |
\\ | 整除 | () () () |
% | 取余(取模) | () () () |
** | 幂 | () () |
赋值运算符
1:python中的赋值运算符是由 ’ = ’ 表示的,它的执行顺序是 从左至右:
比如
a (a)
2:支持链式赋值:
qwe (q,(q)) (w,(w)) (e,(e))
3:支持参数赋值
a1; a1 (a1) a1 (a1) a1 (a1) a1 (a1) a1 (a1) b1 b1 (b1)
4:支持系列解包赋值
a,b,c,, (a,(a)) (b,(b)) (c,(c))
比较运算符
1:比较运算符用的是 == 比较运算符得结果是Bool类型
a,b, (,ab) (,ab)
2:与赋值运算符 = 相区分,比较运算符 == 比较的是两个对象得value值,不比较两个对象的标识;用于比较两个对象的标识所用得是 is,is not :
list1[,,,] list2[,,,] ((list1),(list2)) (list1list2) (list1 list2)
布尔运算符
使用布尔运算符返回的是True或False;以下为布尔运算符的使用说明:
布尔运算符 | 名称 | 举例 |
and | 和 | a,b, (a b) (a b) |
or | 或 | a,b, (a b) (a b) |
not | 对操作数取反 | a1 a2 ( a1) ( a2) |
in | 表示存在 | c ( c) ( c) |
not in | 表示不存在 | c ( c) ( c) |
位运算符
该运算符按二进制位对值进行操作
1:位与 &
参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0
print(4&8) #0
2:位或 |
只要对应的两个二进位有一个为1时,结果位就为1
print(4|8) #12
3:左移位运算符 <<
把'<<'右边的运算数的各二进制位全部左移若干位,<<左边的数字指定了移动的位数,高位溢出舍弃,低位补0;向左移动一位相当于*2
print(4 << 1) #8
4:右移位运算符>>
把‘>>’左边的运算数的各二进制位全部右移若干位,>>右边的数字指定了移动的位数,低位溢出舍弃,高位补0;向右移动一位相当于/2
print(4>>1) #2
5:异或(^)
按位异或运算符,当两对应的二进位相异时,结果为1
print(4^8) #12
6:取反(~)
按位取反运算符:对数据的每个二进制位取反,即把1变为0,把0变为1
print(~5)#-6
+5:
1. 计算原码:0101
2. 计算补码:0101(正数原码与补码相同)
3. 对补码依次取反:1010(取反后数字的补码,由符号位可知为负数)
4. 取反后数字反码:1001(负数的反码=补码-1)
5. 取反后数字原码:1110(相对于反码符号位不变,数值位依次取反)
6. 转化为十进制:-6
-4:
1. 计算原码:1100
2. 计算反码:1011(相对于原码符号位不变,数值位依次取反)
3. 计算补码:1100(负数补码=反码+1)
4. 对补码依次取反:0011(取反后数字的补码,由符号位可知为正数)
5. 取反后数字原码:0011(正数原码、反码、补码相同)
6. 转化为十进制:+3
我们可以直接记住取反的公式:
~x=-x-1