Python运算符
Python 提供了多种运算符用于不同类型的数据操作。这些运算符包括算术运算符、比较运算符、逻辑运算符、赋值运算符、位运算符、身份运算符和成员运算符。下面是对这些运算符的详细介绍和示例。
1. 算术运算符
算术运算符用于执行基本的数学运算。
运算符 | 描述 | 示例 |
---|---|---|
+ |
加 | a + b |
- |
减 | a - b |
* |
乘 | a * b |
/ |
除 | a / b |
% |
取余 | a % b |
** |
幂 | a ** b |
// |
整除 | a // b |
示例:
a = 10
b = 3
print(a + b) # 13
print(a - b) # 7
print(a * b) # 30
print(a / b) # 3.3333333333333335
print(a % b) # 1
print(a ** b) # 1000
print(a // b) # 3
2. 比较运算符
比较运算符用于比较两个值,返回布尔值(True 或 False)。
运算符 | 描述 | 示例 |
---|---|---|
== |
等于 | a == b |
!= |
不等于 | a != b |
> |
大于 | a > b |
< |
小于 | a < b |
>= |
大于等于 | a >= b |
<= |
小于等于 | a <= b |
示例:
a = 10
b = 3
print(a == b) # False
print(a != b) # True
print(a > b) # True
print(a < b) # False
print(a >= b) # True
print(a <= b) # False
3. 逻辑运算符
逻辑运算符用于布尔值运算,返回布尔值。
运算符 | 描述 | 示例 |
---|---|---|
and |
与 | a and b |
or |
或 | a or b |
not |
非 | not a |
示例:
4. 赋值运算符
赋值运算符用于给变量赋值。
运算符 | 描述 | 示例 |
---|---|---|
= |
赋值 | a = b |
+= |
加后赋值 | a += b |
-= |
减后赋值 | a -= b |
*= |
乘后赋值 | a *= b |
/= |
除后赋值 | a /= b |
%= |
取余后赋值 | a %= b |
**= |
幂后赋值 | a **= b |
//= |
整除后赋值 | a //= b |
示例:
a = 10
b = 3
a += b # 等价于 a = a + b
print(a) # 13
a -= b # 等价于 a = a - b
print(a) # 10
a *= b # 等价于 a = a * b
print(a) # 30
a /= b # 等价于 a = a / b
print(a) # 10.0
a %= b # 等价于 a = a % b
print(a) # 1.0
a **= b # 等价于 a = a ** b
print(a) # 1.0
a //= b # 等价于 a = a // b
print(a) # 0.0
5. 位运算符
位运算符用于二进制数的操作。
运算符 | 描述 | 示例 |
---|---|---|
& |
位与 | a & b |
| |
位或 | a | b |
^ |
位异或 | a ^ b |
~ |
位取反 | ~a |
<< |
左移 | a << b |
>> |
右移 | a >> b |
示例:
a = 60 # 60 = 0011 1100
b = 13 # 13 = 0000 1101
print(a & b) # 12 = 0000 1100
print(a | b) # 61 = 0011 1101
print(a ^ b) # 49 = 0011 0001
print(~a) # -61 = 1100 0011
print(a << 2) # 240 = 1111 0000
print(a >> 2) # 15 = 0000 1111
6. 身份运算符
身份运算符用于比较两个对象的内存地址。
运算符 | 描述 | 示例 |
---|---|---|
is |
是 | a is b |
is not |
不是 | a is not b |
示例:
7. 成员运算符
成员运算符用于测试序列中的成员关系。
运算符 | 描述 | 示例 |
---|---|---|
in |
在 | a in b |
not in |
不在 | a not in b |
示例:
8. 运算符优先级
不同运算符具有不同的优先级。运算符优先级决定了表达式的求值顺序。以下是从高到低的运算符优先级顺序:
()
:括号**
:幂运算+x
,-x
,~x
:正负号、一元取反*
,/
,//
,%
:乘、除、整除、取余+
,-
:加、减<<
,>>
:左移、右移&
:按位与^
:按位异或|
:按位或==
,!=
,>
,<
,>=
,<=
,is
,is not
,in
,not in
:比较运算符not
:逻辑非and
:逻辑与or
:逻辑或=
,+=
,-=
,*=
,/=
,%=
,**=
,//=
,&=
,|=
,^=
,>>=
,<<=
:赋值运算符
示例:
a = 3
b = 2
c = 1
result = a + b * c # 3 + 2 * 1 = 5
print(result)
result = (a + b) * c # (3 + 2) * 1 = 5
print(result)
result = a ** b + c # 3 ** 2 + 1 = 10
print(result)
result = a ** (b + c) # 3 ** (2 + 1) = 27
print(result)
了解并掌握这些运算符及其优先级有助于编写出高效且易于理解的Python代码。