Python 运算符

简述

在 Python 中,运算符是执行算术或逻辑运算的特殊符号,操作的值被称为操作数。例如:

>>> 5 + 6
11

这里,+ 是执行加法的运算符,5 和 6 是操作数,11 是操作的输出。

| 版权声明:一去、二三里,未经博主允许不得转载。

运算符种类

在 Python 中,支持以下类型的运算符:

  • 算术运算符
  • 比较(关系)运算符
  • 逻辑(布尔)运算符
  • 位运算符
  • 赋值运算符
  • 特殊运算符
    • 成员运算符
    • 身份运算符

算术运算符

算术运算符用于执行加、减、乘、除等数学运算。

运算符含义示例
+加 - 两个操作数相加,或者一元加x + y
-减 - 两个操作数相减,或者一元减x - y
*乘 - 两个操作数相乘,或是返回一个被重复若干次的字符串x * y
/除 - 两个操作数相除(总是浮点数x / y
%取模 - 返回除法(/)的余数x % y(x/y 的余数)
//取整除 - 返回商的整数部分x // y
**幂 - 返回 x 的 y 次幂x ** y

示例:

>>> x = 8
>>> y = 3
>>> 
>>> x + y
11
>>> 
>>> x - y
5
>>> 
>>> x * y
24
>>> 
>>> x / y  # 总是浮点数
2.6666666666666665
>>> 
>>> x // y
2
>>> 
>>> x ** y
512

注意: 除法 / 运算的结果总是浮点数。例如:4 / 2 返回的是 2.0,而不是 2。

比较运算符

比较运算符又称关系运算符,用于比较值,根据条件返回 True 或 False。

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

示例:

>>> x = 6
>>> y = 10
>>> 
>>> x > y
False
>>> 
>>> x < y
True
>>> 
>>> x == y
False
>>> 
>>> x != y
True
>>> 
>>> x >= y
False
>>> 
>>> x <= y
True

逻辑运算符

逻辑运算符又称布尔运算符,通常用于测试真假值。

运算符含义示例
and逻辑与 - 如果两个操作数都为 True,则为 Truex and y
or逻辑或 - 如果任一操作数为 True,则为 Truex or y
not逻辑非 - 如果操作数为 False,则为 True(补数)not x

示例:

>>> x = True
>>> y = False
>>> 
>>> x and y
False
>>> 
>>> x or y
True
>>> 
>>> not x
False
>>> 
>>> not y
True

位运算符

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

运算符含义示例
&按位与(AND)x & y
|按位或(OR)x | y
~按位翻转/取反(NOT)~x
^按位异或(XOR)x ^ y
>>按位右移x >> 2
<<按位左移x << 2

例如:2 是二进制 10,7 是 111。

令 x = 10(二进制 0000 1010),y = 4(二进制 0000 0100),进行位运算:

>>> x = 10  # 二进制 0000 1010
>>> y = 4  # 二进制 0000 0100
>>> 
>>> x & y  # 0000 0000
0  
>>> 
>>> x | y  # 0000 1110
14  
>>> 
>>> ~x  # 1111 0101
-11  
>>> 
>>> x ^ y  # 0000 1110
14  
>>> 
>>> x >> 2  # 0000 0010
2  
>>> 
>>> x << 2  # 0010 1000
40  

赋值运算符

赋值运算符用于为变量赋值。

例如:x = 5,是一个简单的赋值运算符,它将右侧的值 5 分配给左侧的变量 x。

在 Python 中,有各种各样的复合运算符,例如:x += 5,先将变量 x 的值与 5 相加,再将最终结果分配给变量 x,等价于:x = x + 5

运算符示例等价于
=x = 5x = 5(相同)
+=x += 5x = x + 5
-=x -= 5x = x - 5
*=x *= 5x = x * 5
/=x /= 5x = x / 5
%=x %= 5x = x % 5
//=x //= 5x = x // 5
**=x **= 5x = x ** 5
&=x &= 5x = x & 5
|=x |= 5x = x | 5
^=x ^= 5x = x ^ 5
>>=x >>= 5x = x >> 5
<<=x <<= 5x = x << 5

特殊运算符

除以上运算符外,Python 还提供了一些特殊类型的运算符:

  • 身份运算符
  • 成员运算符

身份运算符

身份运算符用于检查两个值(或变量)是否位于存储器的同一部分。

注意: 两个变量相等,并不意味着它们也相同。

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

示例:

>>> x1 = 5
>>> y1 = 5
>>> 
>>> x2 = 'Python'
>>> y2 = 'Python'
>>> 
>>> x3 = [1, 2, 3]
>>> y3 = [1, 2, 3]
>>> 
>>> x1 is not y1
False
>>> 
>>> x2 is y2
True
>>> 
>>> x3 is y3
False

可以看到 x1 和 y1 是相同值的整数,所以它们相等且相同。x2 和 y2(字符串)同样是这样。

但 x3 和 y3 是列表,它们相等,但不相同。由于列表是可变的(可以更改),即使它们相等,解释器也会将它们分别存储在内存中。

成员运算符

成员运算符用于测试在序列(字符串、列表、元组、集合和字典)中是否可以找到一个值/变量。

注意: 在字典中,只能检测 key 是否存在,而不能检测 value。

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

示例:

>>> x = 'Hello, World!'  # 字符串
>>> y = {1:'Java', 2:'Python'}  # 字典
>>> 
>>> 'H' in x
True
>>> 
>>> 'hello' not in x
True
>>> 
>>> 1 in y
True
>>> 
>>> 'Python' in y
False

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

©️2020 CSDN 皮肤主题: 代码科技 设计师:Amelia_0503 返回首页
实付 39.90元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值