运算符是特殊符号,用于对变量和值执行操作。例如:
print(5 + 6) # 11
这里,+
是一个运算符,它将两个数字:5 和 6 相加。
Python 运算符的类型
以下是本教程中将学习的不同类型的 Python 运算符列表。
- 算术运算符
- 赋值运算符
- 比较运算符
- 逻辑运算符
- 位运算符
- 特殊运算符
1. Python 算术运算符
算术运算符用于执行加法、减法、乘法等数学运算。例如:
sub = 10 - 5 # 5
这里,-
是一个算术运算符,它减去两个值或变量。
运算符 | 操作 | 示例 |
---|---|---|
+ |
加法 | 5 + 2 = 7 |
- |
减法 | 4 - 2 = 2 |
* |
乘法 | 2 * 3 = 6 |
/ |
除法 | 4 / 2 = 2 |
// |
整除 | 10 // 3 = 3 |
% |
取模 | 5 % 2 = 1 |
** |
幂 | 4 ** 2 = 16 |
示例 1:Python 中的算术运算符
a = 7
b = 2
# addition
print ('Sum: ', a + b)
# subtraction
print ('Subtraction: ', a - b)
# multiplication
print ('Multiplication: ', a * b)
# division
print ('Division: ', a / b)
# floor division
print ('Floor Division: ', a // b)
# modulo
print ('Modulo: ', a % b)
# a to the power b
print ('Power: ', a ** b)
输出
Sum: 9 Subtraction: 5 Multiplication: 14 Division: 3.5 Floor Division: 3 Modulo: 1 Power: 49
在上面的示例中,我们使用了多个算术运算符,
+
用于将a
和b
相加-
用于从a
中减去b
*
用于将a
和b
相乘/
用于将a
除以b
//
用于将a
整除以b
%
用于获取余数**
用于获取a
的b
次幂
2. Python 赋值运算符
赋值运算符用于将值赋给变量。例如:
# assign 5 to x
x = 5
这里,=
是一个赋值运算符,它将 5 赋给 x
。
以下是 Python 中可用的不同赋值运算符列表。
运算符 | 名称 | 示例 |
---|---|---|
= |
赋值运算符 | a = 7 |
+= |
加法赋值 | a += 1 # a = a + 1 |
-= |
减法赋值 | a -= 3 # a = a - 3 |
*= |
乘法赋值 | a *= 4 # a = a * 4 |
/= |
除法赋值 | a /= 3 # a = a / 3 |
%= |
余数赋值 | a %= 10 # a = a % 10 |
**= |
指数赋值 | a **= 10 # a = a ** 10 |
示例 2:赋值运算符
# assign 10 to a
a = 10
# assign 5 to b
b = 5
# assign the sum of a and b to a
a += b # a = a + b
print(a)
# Output: 15
这里,我们使用了 +=
运算符将 a
和 b
的和赋给 a
。
同样,我们可以根据需要使用任何其他赋值运算符。
3. Python 比较运算符
比较运算符比较两个值/变量并返回布尔结果:True
或 False
。例如:
a = 5
b = 2
print (a > b) # True
这里,>
比较运算符用于比较 a
是否大于 b
。
运算符 | 含义 | 示例 |
---|---|---|
== |
等于 | 3 == 5 结果为 False |
!= |
不等于 | 3 != 5 结果为 True |
> |
大于 | 3 > 5 结果为 False |
< |
小于 | 3 < 5 结果为 True |
>= |
大于或等于 | 3 >= 5 结果为 False |
<= |
小于或等于 | 3 <= 5 结果为 True |
示例 3:比较运算符
a = 5
b = 2
# equal to operator
print('a == b =', a == b)
# not equal to operator
print('a != b =', a != b)
# greater than operator
print('a > b =', a > b)
# less than operator
print('a < b =', a < b)
# greater than or equal to operator
print('a >= b =', a >= b)
# less than or equal to operator
print('a <= b =', a <= b)
输出
a == b = False a != b = True a > b = True a < b = False a >= b = True a <= b = False
注意: 比较运算符用于决策和循环。我们将在后续教程中详细讨论比较运算符和决策。
4. Python 逻辑运算符
逻辑运算符用于检查表达式是 True
还是 False
。它们用于决策。例如:
a = 5
b = 6
print((a > 2) and (b >= 6)) # True
这里,and
是逻辑运算符 AND。由于 a > 2
和 b >= 6
都为 True
,结果是 True。
运算符 | 示例 | 含义 |
---|---|---|
and |
a and b | 逻辑与: 仅当两个操作数都为 True 时才为 True |
or |
a or b | 逻辑或: 如果至少一个操作数为 True 则为 True |
not |
not a | 逻辑非: 如果操作数为 False 则为 True ,反之亦然。 |
示例 4:逻辑运算符
# logical AND
print(True and True) # True
print(True and False) # False
# logical OR
print(True or False) # True
# logical NOT
print(not True) # False
注意:这里是这些逻辑运算符的真值表。
5. Python 位运算符
位运算符对操作数进行操作,就像它们是二进制数字字符串一样。它们按位操作,因此得名。
例如,2 的二进制是 10
,7 的二进制是 111
。
在下表中: 设 x = 10(二进制 0000 1010
),y = 4(二进制 0000 0100
)
运算符 | 含义 | 示例 |
---|---|---|
& |
按位与 | x & y = 0 (0000 0000 ) |
| |
按位或 | x | y = 14 (0000 1110 ) |
~ |
按位非 | ~x = -11 (1111 0101 ) |
^ |
按位异或 | x ^ y = 14 (0000 1110 ) |
>> |
按位右移 | x >> 2 = 2 (0000 0010 ) |
<< |
按位左移 | x 0010 1000) |
6. Python 特殊运算符
Python 语言提供了一些特殊类型的运算符,如身份运算符和成员运算符。下面将通过示例进行描述。
身份运算符
在 Python 中,is
和 is not
用于检查两个值是否位于相同的内存位置。
需要注意的是,拥有两个值相等的变量不一定意味着它们是相同的。
运算符 | 含义 | 示例 |
---|---|---|
is |
如果操作数相同(指向同一个对象),则为 True |
x is True |
is not |
如果操作数不相同(不指向同一个对象),则为 True |
x is not True |
示例 4:Python 中的身份运算符
x1 = 5
y1 = 5
x2 = 'Hello'
y2 = 'Hello'
x3 = [1,2,3]
y3 = [1,2,3]
print(x1 is not y1) # prints False
print(x2 is y2) # prints True
print(x3 is y3) # prints False
这里,我们看到 x1 和 y1 是具有相同值的整数,所以它们相等且相同。x2 和 y2(字符串)也是如此。
但是 x3 和 y3 是列表。它们相等但不相同。这是因为解释器将它们分别定位在内存中,尽管它们相等。
成员运算符
在 Python 中,in
和 not in
是成员运算符。它们用于测试值或变量是否存在于序列(字符串、列表、元组、集合和字典)中。
在字典中,我们只能测试键是否存在,不能测试值是否存在。
运算符 | 含义 | 示例 |
---|---|---|
in |
如果值/变量在序列中找到,则为 True |
5 in x |
not in |
如果值/变量在序列中未找到,则为 True |
5 not in x |
示例 5:Python 中的成员运算符
message = 'Hello world'
dict1 = {1:'a', 2:'b'}
# check if 'H' is present in message string
print('H' in message) # prints True
# check if 'hello' is present in message string
print('hello' not in message) # prints True
# check if '1' key is present in dict1
print(1 in dict1) # prints True
# check if 'a' key is present in dict1
print('a' in dict1) # prints False
输出
True True True False
这里,'H'
在 message 中,但 'hello'
不在 message 中(请记住,Python 区分大小写)。
同样,1
是键,'a'
是字典 dict1 中的值。因此,'a' in y
返回 False
。
另请阅读