2024年4月15日发(作者:)

python中~的用法

1.位运算符:在Python中,波浪号被用作位运算符 NOT(取

反)的符号。它将二进制数的每个位都翻转(即 1 变成 0,0 变成

1)。例如,以下代码将打印出 -6 的反码(二进制表示为

11111010):

```

x = -6

print(~x)

```

2. 索引运算符:在 Python 中,波浪号可以用于索引运算符

中,表示从末尾开始计算。例如,以下代码将打印出字符串中的倒

数第二个字符:

```

s = 'Hello'

print(s[~1])

```

3. 集合操作符:在 Python 中,波浪号可以用作集合操作符中

的补集。例如,以下代码将创建一个包含 1 到 5 的整数的集合,

然后从其中移除包含在另一个集合中的元素:

```

a = {1, 2, 3, 4, 5}

b = {2, 4}

- 1 -

c = a - b

print(c)

```

可以使用波浪号来简化上述代码:

```

a = {1, 2, 3, 4, 5}

b = {2, 4}

c = a - b

# 等价于

c = ence(b)

# 等价于

c = ~(~a & b)

print(c)

```

在上述代码中,`~a & b` 表示 a 和 b 的交集的补集,即不在

a 中或在 b 中但不在 a 中的元素。这个结果再次取补集,就得到

了 a 和 b 的差集。

4. 特殊方法:在 Python 中,波浪号还可以用于某些特殊方

法,如 `__invert__`。这个方法用于实现位运算符 NOT 的行为。

这些都是波浪号在 Python 中的一些用法。请注意,不同的用

法可能会有不同的行为,因此需要谨慎使用。

- 2 -