原文: https://www.programiz.com/python-programming/operators

在本教程中,您将学习有关 Python 中不同类型的运算符,它们的语法以及如何在示例中使用它们的所有知识。

python 中的运算符是什么?

运算符是 Python 中执行算术或逻辑计算的特殊符号。 运算符所操作的值称为操作数。

例如:

  1. >>> 2+3
  2. 5

在此,+是执行加法的运算符。23是操作数,5是操作的输出。


算术运算符

算术运算符用于执行数学运算,例如加法,减法,乘法等。

运算符 含义 示例
+ 相加两个操作数或一元加 x + y + 2
- 从左侧减去右侧操作数或一元减 x - y - 2
* 将两个操作数相乘 x * y
/ 将左操作数除以右操作数(结果总是为浮点) x / y
% 模 - 左侧除以右侧操作数的余数 x % yx / y的余数)
// 整数除法 - 产生整数的除法,取整到数字的左侧 x // y
** 指数 - 左操作数的右操作数次幂 x ** yxy次幂)

示例 1:Python 中的算术运算符

  1. x = 15
  2. y = 4
  3. # Output: x + y = 19
  4. print('x + y =',x+y)
  5. # Output: x - y = 11
  6. print('x - y =',x-y)
  7. # Output: x * y = 60
  8. print('x * y =',x*y)
  9. # Output: x / y = 3.75
  10. print('x / y =',x/y)
  11. # Output: x // y = 3
  12. print('x // y =',x//y)
  13. # Output: x ** y = 50625
  14. print('x ** y =',x**y)

输出

  1. x + y = 19
  2. x - y = 11
  3. x * y = 60
  4. x / y = 3.75
  5. x // y = 3
  6. x ** y = 50625

比较运算符

比较运算符用于比较值。 根据条件返回TrueFalse

运算符 含义 示例
> 大于 - 如果左操作数大于右操作数,则为True x > y
< 小于 - 如果左操作数小于右操作数,则为True x < y
== 等于 - 如果两个操作数相等,则为True x == y
!= 不等于 - 如果操作数不相等则为True x != y
>= 大于或等于 - 如果左操作数大于或等于右操作数,则为True x >= y
<= 小于或等于 - 如果左操作数小于或等于右操作数,则为True x <= y

示例 2:Python 中的比较运算符

  1. x = 10
  2. y = 12
  3. # Output: x > y is False
  4. print('x > y is',x>y)
  5. # Output: x < y is True
  6. print('x < y is',x<y)
  7. # Output: x == y is False
  8. print('x == y is',x==y)
  9. # Output: x != y is True
  10. print('x != y is',x!=y)
  11. # Output: x >= y is False
  12. print('x >= y is',x>=y)
  13. # Output: x <= y is True
  14. print('x <= y is',x<=y)

输出

  1. x > y is False
  2. x < y is True
  3. x == y is False
  4. x != y is True
  5. x >= y is False
  6. x <= y is True

逻辑运算符

逻辑运算符是andornot运算符。

运算符 含义 示例
and 如果两个操作数都为True,则为True x and y
or 如果任何一个操作数为True,则为True x or y
not 如果操作数为false,则为True(对操作数进行取反) not x

示例 3:Python 中的逻辑运算符

  1. x = True
  2. y = False
  3. print('x and y is',x and y)
  4. print('x or y is',x or y)
  5. print('not x is',not x)

输出

  1. x and y is False
  2. x or y is True
  3. not x is False

这是这些运算符的真值表


按位运算符

按位运算符作用于操作数,就好像它们是二进制数字的字符串一样。 它们一点一点地运行,因此得名。

例如,2 是二进制形式的10,而 7 是111

在下表中:令x = 10(二进制的0000 1010)和y = 4(二进制的0000 0100

运算符 含义 示例
& 按位与 x & y = 00000 0000
` ` 按位或 `x y = 140000 1110`)
~ 按位非 ~x = -111111 0101
^ 按位异或 x ^ y = 140000 1110
>> 按位右移 x >> 2 = 20000 0010
<< 按位左移 x << 2 = 400010 1000

赋值运算符

Python 中使用赋值运算符为变量赋值。

a = 5是一个简单的赋值运算符,它将右边的值 5 分配给左边的变量。

Python 中有多种复合运算符,例如a += 5,它们会添加到变量中,然后再分配给它们。 等效于a = a + 5

运算符 示例 相当于
= x = 5 x = 5
+= x += 5 x = x + 5
-= x -= 5 x = x - 5
*= x *= 5 x = x * 5
/= x /= 5 x = x / 5
%= x %= 5 x = x % 5
//= x //= 5 x = x // 5
**= x **= 5 x = x ** 5
&= x &= 5 x = x & 5
` =` ` x = 5` `x = x 5`
^= x ^= 5 x = x ^ 5
>>= x >>= 5 x = x >> 5
<<= x <<= 5 x = x << 5

特殊运算符

Python 语言提供了一些特殊类型的运算符,例如身份运算符或成员资格运算符。 下面通过示例对其进行描述。

身份运算符

isis not是 Python 中的身份运算符。 它们用于检查两个值(或变量)是否位于内存的同一部分。 两个相等的变量并不意味着它们是相同的。

运算符 含义 示例
is 如果操作数相同,则为True(引用同一对象) x is True
is not 如果操作数不相同,则为True(不引用同一对象) x is not True

示例 4:Python 中的身份运算符

  1. x1 = 5
  2. y1 = 5
  3. x2 = 'Hello'
  4. y2 = 'Hello'
  5. x3 = [1,2,3]
  6. y3 = [1,2,3]
  7. # Output: False
  8. print(x1 is not y1)
  9. # Output: True
  10. print(x2 is y2)
  11. # Output: False
  12. print(x3 is y3)

输出

  1. False
  2. True
  3. False

在这里,我们看到x1y1是相同值的整数,因此它们既相等又相同。x2y2(字符串)也是如此。

但是列出了x3y3。 它们是相等的但不相同。 这是因为尽管它们相等,但解释器将它们分别定位在内存中。


成员运算符

innot in是 Python 中的成员运算符。 它们用于测试在序列中是否找到值或变量(字符串列表元组字典)。

在字典中,我们只能测试键的存在,而不是值。

运算符 含义 示例
in 如果在序列中找到值/变量,则为True 5 in x
not in 如果在序列中未找到值/变量,则为True 5 not in x

示例 5:Python 中的成员资格运算符

  1. x = 'Hello world'
  2. y = {1:'a',2:'b'}
  3. # Output: True
  4. print('H' in x)
  5. # Output: True
  6. print('hello' not in x)
  7. # Output: True
  8. print(1 in y)
  9. # Output: False
  10. print('a' in y)

输出

  1. True
  2. True
  3. True
  4. False

这里,'H'位于x中,但'hello'不存在于x中(请记住,Python 区分大小写)。 同样,1是键,'a'是字典y中的值。 因此,'a' in y返回False