算数运算符
运算符 | 名称 | 实例 |
---|---|---|
+ | 加 | x + y |
- | 减 | x - y |
* | 乘 | x * y |
/ | 除 | x / y |
% | 取模 | x % y |
** | 幂 | x ** y |
// | 地板除(取整除) | x // y |
对于加减乘除就不做说明,主要说取模幂和整除(#后面为运行结果)
x = 5
y = 2
print(x % y)#1
x = 2
y = 5
print(x ** y) #same as 2*2*2*2*2
x = 15
y = 2
print(x // y)#7
Python 赋值运算符
赋值运算符用于为变量赋值
运算符 | 实例 | 等同于 |
---|---|---|
= | x = 5(赋值) | x = 5 |
+= | x += 3(先加再赋值) | x = x + 3 |
-= | x -= 3(先减再赋值) | x = x - 3 |
*= | x *= 3(先乘再赋值) | x = x * 3 |
/= | x /= 3(先除再赋值) | x = x / 3 |
%= | x %= 3(先取模再赋值) | x = x % 3 |
//= | x //= 3(先整除再赋值) | x = x // 3 |
**= | x **= 3(先幂再赋值) | x = x ** 3(后面的3为x的幂) |
&= | x &= 3(按位与后赋值) | x = x & 3 |
|= | x |= 3(按位或后赋值) | x = x | 3 |
^= | x ^= 3(按位异或后赋值) | x = x ^ 3 |
>>= | x >>= 3(右移后赋值) | x = x >> 3 |
<<= | x <<= 3(左移后赋值) | x = x << 3 |
主要解释一下后五个#后面依旧是答案
x = 0x02
x &= 0x01 #按位与后的结果为:0x00
x = 0x02
x |= 0x01#按位或的结果为:0x03 等同于0011
x = 0x02
x ^= 0x01#按位异或的结果为:0x03 等同于0011
x = 8
x >>= 3#右移后结果为:00000000 00000000 00000000 00000001
'''在这种赋值中首先应该把数转化为十进制8的二级进制
8=00000000 00000000 00000000 00001000然后右移三位赋值给x
x=00000000 00000000 00000000 00000001'''
x = 8
x <<= 3#左移后赋值结果为:00000000 00000000 00000000 01000000
Python 比较运算符
比较运算符用于比较两个值:
运算符 | 名称 | 实例 |
---|---|---|
== | 等于 | x == y |
!= | 不等于 | x != y |
> | 大于 | x > y |
< | 小于 | x < y |
>= | 大于或等于 | x >= y |
<= | 小于或等于 | x <= y |
Python 逻辑运算符(在此不做赘述)
逻辑运算符用于组合条件语句:
运算符 | 描述 | 实例 |
---|---|---|
and | 如果两个语句都为真,则返回 True。 | x > 3 and x < 10 |
or | 如果其中一个语句为真,则返回 True。 | x > 3 or x < 4 |
not | 反转结果,如果结果为 true,则返回 False | not(x > 3 and x < 10) |
Python 身份运算符
身份运算符用于比较对象,不是比较它们是否相等,但如果它们实际上是同一个对象,则具有相同的内存位置:
运算符 | 描述 | 实例 |
---|---|---|
is | 如果两个变量是同一个对象,则返回 true。 | x is y |
is not | 如果两个变量不是同一个对象,则返回 true。 | x is not y |
x = ["apple", "banana"]
y = ["apple", "banana"]
z = x
print(x is z)#ture
print(x is y)#false
print(x == y)#ture
x = ["apple", "banana"]
y = ["apple", "banana"]
z = x
print(x is not z)#false
print(x is not y)#ture
print(x != y)#false
Python 成员运算符
成员资格运算符用于测试序列是否在对象中出现:
运算符 | 描述 | 实例 |
---|---|---|
in | 如果对象中存在具有指定值的序列,则返回 True。 | x in y |
not in | 如果对象中不存在具有指定值的序列,则返回 True。 | x not in y |
x = ["apple", "banana"]
print("banana" in x)#ture
x = ["apple", "banana"]
print("yyw" not in x)#ture
Python 位运算符(在此不做赘述)
位运算符用于比较(二进制)数字:
运算符 | 描述 | 实例 |
---|---|---|
& | AND | 如果两个位均为 1,则将每个位设为 1。 |
| | OR | 如果两位中的一位为 1,则将每个位设为 1。 |
^ | XOR | 如果两个位中只有一位为 1,则将每个位设为 1。 |
~ | NOT | 反转所有位。 |
<< | Zero fill left shift | 通过从右侧推入零来向左移动,推掉最左边的位。 |
>> | Signed right shift | 通过从左侧推入最左边的位的副本向右移动,推掉最右边的位。 |