Python 中的运算符主要分为算术运算符、比较(关系)运算符、赋值运算符、逻辑运算符、位运算符、成员运算符和身份运算符共 7 大类。
python中的运算符是什么?
运算符是Python中执行算术或逻辑计算的特殊符号。运算符所操作的值称为操作数。
例如:
>>> 2+3
5
在这里,+是执行加法的运算符。2和3是操作数,5是操作的输出。
算术运算符
算术运算符用于执行数学运算,例如加法,减法,乘法等。
操作符 | 含义 | 例 |
---|---|---|
+ | 加 - 两个操作数相加或一元加 | x + y + 2 |
- | 减 - 从左侧或一元减号,减去右侧操作数 | x-y- 2 |
* | 乘 -将两个操作数相乘 | x * y |
/ | 除 - 将左边操作数除以右边操作数(结果总是为float) | x / y |
% | 求模 -左操作数除以右操作数的余数 | x%y(x / y的余数) |
// | 取整除 - 返回商的整数部分(向下取整) | x // y |
** | 幂 - 返回x的y次幂 | x ** y(x的y次幂) |
示例:Python中的算术运算符
x = 15
y = 4
# 输出: x + y = 19
print('x + y =',x+y)
# 输出: x - y = 11
print('x - y =',x-y)
# 输出: x * y = 60
print('x * y =',x*y)
# 输出: x / y = 3.75
print('x / y =',x/y)
# 输出: x // y = 3
print('x // y =',x//y)
# 输出: x ** y = 50625
print('x ** y =',x**y)
运行该程序时,输出为:
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 |
示例:Python中的比较运算符
x = 10
y = 12
# 输出: x > y 是 False
print('x > y 是 ',x>y)
# 输出: x < y 是 True
print('x < y 是 ',x<y)
# 输出: x == y 是 False
print('x == y 是 ',x==y)
# 输出: x != y 是 True
print('x != y 是 ',x!=y)
# 输出: x >= y 是 False
print('x >= y 是 ',x>=y)
# 输出: x <= y 是 True
print('x <= y 是 ',x<=y)
输出结果
x > y 是 False
x < y 是 True
x == y 是 False
x != y 是 True
x >= y 是 False
x <= y 是 True
逻辑运算符
逻辑运算符是and,or,not运营商。
操作符 | 含义 | 例 |
---|---|---|
and | 如果两个操作数都为真,则为真 | x和y |
or | 如果任何一个操作数为真,则为真 | x或y |
not | 如果操作数为false,则为True(对操作数进行补充) | 不是x |
示例:Python中的逻辑运算符
x = True
y = False
print('x and y 是 ',x and y)
print('x or y 是 ',x or y)
print('not x 是 ',not x)
输出结果
x and y 是 False
x or y 是 True
not x 是 False
这是这些运算符的真值表。
位运算符
按位运算符作用于操作数,就好像它们是二进制数字的字符串一样。它们一点一点地运行,因此得名。
例如,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 << 2 = 40(0010 1000) |
赋值运算符
在Python中使用赋值运算符为变量赋值。
a = 5是一个简单的赋值运算符,它将右边的值5分配给左边的变量a。
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语言提供了一些特殊类型的运算符,例如身份运算符或成员资格运算符。下面通过示例对其进行描述。
身份运算符
is和is not是Python中的身份运算符。 它们用于检查两个值(或变量)是否位于内存的同一部分。 两个相等的变量并不意味着它们是相同的。
操作符 | 含义 | 例 |
---|---|---|
is | 如果操作数相同,则为真(引用同一对象) | x为真 |
is not | 如果操作数不相同,则为真(不引用同一对象) | x不是真 |
示例:Python中的身份运算符
x1 = 5
y1 = 5
x2 = 'Hello'
y2 = 'Hello'
x3 = [1,2,3]
y3 = [1,2,3]
# 输出: False
print(x1 is not y1)
# 输出: True
print(x2 is y2)
# 输出: False
print(x3 is y3)
输出结果
False
True
False
在这里,我们看到x1和y1是相同值的整数,因此它们既相等又相同。x2和y2(字符串)的情况相同。
但是x3和y3是列表。它们是相等的但不相同。这是因为尽管它们相等,但解释器还是将它们分别定位在内存中。
成员运算符
in和not in是Python中的成员操作符。它们用于测试在序列(字符串,列表,元组,集合和字典)中是否找到值或变量。
在字典中,我们只能测试键的存在,而不是值。
操作员 | 含义 | 例 |
---|---|---|
in | 如果在序列中找到值/变量,则为真 | 5 in x |
not in | 如果在序列中未找到值/变量,则为真 | 5 not in x |
示例:Python中的成员资格运算符
x = 'Hello world'
y = {1:'a',2:'b'}
# 输出: True
print('H' in x)
# 输出: True
print('hello' not in x)
# 输出: True
print(1 in y)
# 输出: False
print('a' in y)
输出结果
True
True
True
False
这里,'H'在x中,但'hello'在x中不存在(请记住,Python是区分大小写的)。类似地,1是键值,而a是字典y中的值,因此y中的a返回False。