跳转至

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

示例

a = True
b = False

print(a and b)  # False
print(a or b)   # True
print(not a)    # False

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

示例

a = [1, 2, 3]
b = a
c = a[:]

print(a is b)       # True
print(a is c)       # False
print(a is not c)   # True

7. 成员运算符

成员运算符用于测试序列中的成员关系。

运算符 描述 示例
in a in b
not in 不在 a not in b

示例

a = [1, 2, 3]
b = 2
c = 4

print(b in a)       # True
print(c in a)       # False
print(c not in a)   # True

8. 运算符优先级

不同运算符具有不同的优先级。运算符优先级决定了表达式的求值顺序。以下是从高到低的运算符优先级顺序:

  1. ():括号
  2. **:幂运算
  3. +x, -x, ~x:正负号、一元取反
  4. *, /, //, %:乘、除、整除、取余
  5. +, -:加、减
  6. <<, >>:左移、右移
  7. &:按位与
  8. ^:按位异或
  9. |:按位或
  10. ==, !=, >, <, >=, <=, is, is not, in, not in:比较运算符
  11. not:逻辑非
  12. and:逻辑与
  13. or:逻辑或
  14. =+=-=*=/=%=**=//=&=|=^=>>=<<=:赋值运算符

示例

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代码。

评论