运算符#

介绍#

Python 中的运算符是用于对值和变量执行运算的特殊符号和关键字。它们涵盖了从算术和比较到逻辑、按位和赋值运算等各种功能。掌握这些运算符对于构建富有表现力且高效的 Python 代码至关重要,因为它们构成了程序中几乎所有计算或决策过程的基础。下面,您将找到每个运算符的简明示例,以帮助您理解它们的用法和预期结果。

算术#

姓名

象征

操作员

例子

添加

+

a + b

5 + 3 # 8

分配

/

a / b

10 / 4 # 2.5(始终返回浮点数)

指数运算

**

a**b

2 ** 3 # 8

楼层划分

//

a // b

10 // 4 # 2(始终返回整数)

模数

a%b

10% 4 # 2

乘法

*

a * b

5 * 3 # 15

否定

-

-a

-5#-5

减法

-

a-b

10 - 3 # 7

增强算术#

姓名

象征

操作员

例子

添加

+=

a += b

a = 5
b = 3
a += b # a = 8

分配

/=

a /= b

a = 10
b = 4
a /= b # a = 2.5

指数运算

**=

a**=b

a = 2
b = 3
a **= b # a = 8

楼层划分

//=

a //= b

a = 10
b = 4
a //= b # a = 2

模量

%=

a%=b

a = 10
b = 3
a %= b # a = 1

乘法

*=

a *= b

a = 2
b = 3
a *= b # a = 6

减法

-=

a -= b

a = 10
b = 4
a -= b # a = 6

比较#

姓名

象征

操作员

例子

平等

==

a == b

5 == 5 #

不等式

!=

a != b

5 != 10 #

大于

>

a > b

10 > 5 #

大于或等于

>=

a >= b

10 >= 5 #

少于

<

a < b

5 < 10 #

小于或等于

<=

a <= b

5 <= 5 #

链式比较

变化

a < b < c

1 < 2 < 3 # (1 < 2) (2 < 3)

逻辑#

姓名

象征

例子

错误的

错误

某些值被定义为 False,包括:

  • None
  • False
  • 任何类型的数字零:00.00j
  • 空序列和集合:''(空字符串)、[](空列表)、()(空元组)、{}(空字典)、set()

真的

任何未明确返回“False”的对象都被视为“True”。例如,非空字符串、非零数字、非空列表,甚至自定义对象(除非它们重写了真值方法以返回“False”)都被视为“True”。


姓名

象征

操作员

例子

身份

a b

[1] [1] #

非身份

不是

a 不是 b

5 不等于 10 # 正确

逻辑与

a b

真与假 #

逻辑否定

不是一个

非假 #

逻辑或

a b

假或真 #

条件表达式

if else

x if 条件 else y

如果 5 > 3 则为“是”,否则为“否”#“是”

序列(列表、元组、字符串)#

姓名

象征

操作员

例子

级联

+

序列1 + 序列2

[1, 2] + [3, 4] # [1, 2, 3, 4]

切片分配

seq[i:j] =

lst = [1, 2, 3, 4]
lst[1:3] = [20, 30] # lst = [1, 20, 30, 4]

切片删除

del seq[i:j]

lst = [1, 2, 3, 4]
del lst[1:3] # lst = [1, 4]

切片

seq[i:j]

lst = [1, 2, 3, 4]
lst[1:3] # [2, 3]

字典(映射)#

姓名

象征

操作员

例子

索引分配

obj[k] = v

d = {}
d['a'] = 1 # d = {'a': 1}

索引删除

del obj[k]

d = {'a': 1}
del d['a'] # d = {}

索引

obj[k]

d = {'a': 1}
d['a'] # 1

字符串格式化#

姓名

象征

操作员

例子

字符串格式化

s % obj

str =“你好, %(name)s”%{“name”:“Alice”}#str ='你好,Alice'

会员资格#

姓名

象征

操作员

例子

遏制测试

obj seq

'a' 'cat' # True

成员资格否定(Not In)

不在

a 不在 b

'x' 不在 'hello' # True

按位#

姓名

象征

操作员

例子

按位与

&

a & b

6 & 3 # 2 (0b110 & 0b011 = 0b010)

按位异或(XOR)

^

a^b

6 ^ 3 # 5 (0b110 ^ 0b011 = 0b101)

按位反转(NOT)

~

~一个

~5 # -6 (~0b101 以二进制补码表示为 -6)

按位或

|

a | b

6 | 3 # 7 (0b110 | 0b011 = 0b111)

左移

<<

a << b

2 << 3 # 16(0b10 << 3 变为 0b10000)

右移

>>

a >> b

16 >> 2 # 4 (0b10000 >> 2 变为 0b100)

按位增强#

姓名

象征

操作员

例子

增强按位与

&=

a &= b

a = 6
b = 3
a &= b # a = 2 (0b110 & 0b011 = 0b010)

增强按位异或 (XOR)

^=

a^=b

a = 6
b = 3
a ^= b # a = 5 (0b110 ^ 0b011 = 0b101)

增强按位或

|=

a |= b

a = 6
b = 3
a |= b # a = 7 (0b110 | 0b011 = 0b111)

增强左移

<<=

a <<= b

a = 5
b = 2
a <<= b # a = 20 (5 << 2 等于 5 * 2²)

增强右移

>>=

a >>= b

a = 20
b = 2
a >>= b # a = 5 (20 >> 2 等于 20 // 2²)