💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
# Python 运算符 > 原文: [https://www.programiz.com/python-programming/operators](https://www.programiz.com/python-programming/operators) #### 在本教程中,您将学习有关 Python 中不同类型的运算符,它们的语法以及如何在示例中使用它们的所有知识。 ## python 中的运算符是什么? 运算符是 Python 中执行算术或逻辑计算的特殊符号。 运算符所操作的值称为操作数。 例如: ```py >>> 2+3 5 ``` 在此,`+`是执行加法的运算符。`2`和`3`是操作数,`5`是操作的输出。 * * * ## 算术运算符 算术运算符用于执行数学运算,例如加法,减法,乘法等。 | 运算符 | 含义 | 示例 | | --- | --- | --- | | `+` | 相加两个操作数或一元加 | `x + y + 2` | | `-` | 从左侧减去右侧操作数或一元减 | `x - y - 2` | | `*` | 将两个操作数相乘 | `x * y` | | `/` | 将左操作数除以右操作数(结果总是为浮点) | `x / y` | | `%` | 模 - 左侧除以右侧操作数的余数 | `x % y`(`x / y`的余数) | | `//` | 整数除法 - 产生整数的除法,取整到数字的左侧 | `x // y` | | `**` | 指数 - 左操作数的右操作数次幂 | `x ** y`(`x`的`y`次幂) | ### 示例 1:Python 中的算术运算符 ```py x = 15 y = 4 # Output: x + y = 19 print('x + y =',x+y) # Output: x - y = 11 print('x - y =',x-y) # Output: x * y = 60 print('x * y =',x*y) # Output: x / y = 3.75 print('x / y =',x/y) # Output: x // y = 3 print('x // y =',x//y) # Output: x ** y = 50625 print('x ** y =',x**y) ``` **输出** ```py x + y = 19 x - y = 11 x * y = 60 x / y = 3.75 x // y = 3 x ** y = 50625 ``` * * * ## 比较运算符 比较运算符用于比较值。 根据条件返回`True`或`False`。 | 运算符 | 含义 | 示例 | | --- | --- | --- | | `>` | 大于 - 如果左操作数大于右操作数,则为`True` | `x > y` | | `<` | 小于 - 如果左操作数小于右操作数,则为`True` | `x < y` | | `==` | 等于 - 如果两个操作数相等,则为`True` | `x == y` | | `!=` | 不等于 - 如果操作数不相等则为`True` | `x != y` | | `>=` | 大于或等于 - 如果左操作数大于或等于右操作数,则为`True` | `x >= y` | | `<=` | 小于或等于 - 如果左操作数小于或等于右操作数,则为`True` | `x <= y` | ### 示例 2:Python 中的比较运算符 ```py x = 10 y = 12 # Output: x > y is False print('x > y is',x>y) # Output: x < y is True print('x < y is',x<y) # Output: x == y is False print('x == y is',x==y) # Output: x != y is True print('x != y is',x!=y) # Output: x >= y is False print('x >= y is',x>=y) # Output: x <= y is True print('x <= y is',x<=y) ``` **输出**: ```py x > y is False x < y is True x == y is False x != y is True x >= y is False x <= y is True ``` * * * ## 逻辑运算符 逻辑运算符是`and`,`or`和`not`运算符。 | 运算符 | 含义 | 示例 | | --- | --- | --- | | `and` | 如果两个操作数都为`True`,则为`True` | `x and y` | | `or` | 如果任何一个操作数为`True`,则为`True` | `x or y` | | `not` | 如果操作数为`false`,则为`True`(对操作数进行取反) | `not x` | ### 示例 3:Python 中的逻辑运算符 ```py x = True y = False print('x and y is',x and y) print('x or y is',x or y) print('not x is',not x) ``` **输出**: ```py x and y is False x or y is True not x is False ``` 这是这些运算符的[真值表](/python-programming/keyword-list#and_or_not)。 * * * ## 按位运算符 按位运算符作用于操作数,就好像它们是二进制数字的字符串一样。 它们一点一点地运行,因此得名。 例如,2 是二进制形式的`10`,而 7 是`111`。 **在下表中**:令`x = 10`(二进制的`0000 1010`)和`y = 4`(二进制的`0000 0100`) | 运算符 | 含义 | 示例 | | --- | --- | --- | | `&` | 按位与 | `x & y = 0`(`0000 0000`) | | <code>&#124;</code> | 按位或 | <code>x &#124; y = 14</code>(`0000 1110`) | | `~` | 按位非 | `~x = -11`(`1111 0101`) | | `^` | 按位异或 | `x ^ y = 14`(`0000 1110`) | | `>>` | 按位右移 | `x >> 2 = 2`(`0000 0010`) | | `<<` | 按位左移 | `x << 2 = 40`(`0010 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` | | <code>&#124;=</code> |<code> x &#124; = 5</code> | <code>x = x &#124; 5</code> | | `^=` | `x ^= 5` | `x = x ^ 5` | | `>>=` | `x >>= 5` | `x = x >> 5` | | `<<=` | `x <<= 5` | `x = x << 5` | * * * ## 特殊运算符 Python 语言提供了一些特殊类型的运算符,例如身份运算符或成员资格运算符。 下面通过示例对其进行描述。 ### 身份运算符 `is`和`is not`是 Python 中的身份运算符。 它们用于检查两个值(或变量)是否位于内存的同一部分。 两个相等的变量并不意味着它们是相同的。 | 运算符 | 含义 | 示例 | | --- | --- | --- | | `is` | 如果操作数相同,则为`True`(引用同一对象) | `x is True` | | `is not` | 如果操作数不相同,则为`True`(不引用同一对象) | `x is not True` | ### 示例 4:Python 中的身份运算符 ```py x1 = 5 y1 = 5 x2 = 'Hello' y2 = 'Hello' x3 = [1,2,3] y3 = [1,2,3] # Output: False print(x1 is not y1) # Output: True print(x2 is y2) # Output: False print(x3 is y3) ``` **输出**: ```py False True False ``` 在这里,我们看到`x1`和`y1`是相同值的整数,因此它们既相等又相同。`x2`和`y2`(字符串)也是如此。 但是列出了`x3`和`y3`。 它们是相等的但不相同。 这是因为尽管它们相等,但解释器将它们分别定位在内存中。 * * * ### 成员运算符 `in`和`not in`是 Python 中的成员运算符。 它们用于测试在序列中是否找到值或变量([字符串](/python-programming/string),[列表](/python-programming/list),[元组](/python-programming/tuple),[集](/python-programming/set)和[字典](/python-programming/dictionary))。 在字典中,我们只能测试键的存在,而不是值。 | 运算符 | 含义 | 示例 | | --- | --- | --- | | `in` | 如果在序列中找到值/变量,则为`True` | `5 in x` | | `not in` | 如果在序列中未找到值/变量,则为`True` | `5 not in x` | ### 示例 5:Python 中的成员资格运算符 ```py x = 'Hello world' y = {1:'a',2:'b'} # Output: True print('H' in x) # Output: True print('hello' not in x) # Output: True print(1 in y) # Output: False print('a' in y) ``` **输出**: ```py True True True False ``` 这里,`'H'`位于`x`中,但`'hello'`不存在于`x`中(请记住,Python 区分大小写)。 同样,`1`是键,`'a'`是字典`y`中的值。 因此,`'a' in y`返回`False`。