编辑这个页面须要登录或更高权限!
在本文中,您将学习有关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次幂) |
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 |
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 |
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不是真 |
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 |
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。