在本教程中,您将学习有关Python中不同类型的运算符,它们的语法以及如何在示例中使用它们的所有知识。
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的幂) |
示例1:Python中的算术运算符
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)
运行代码
输出量
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中的比较运算符
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)
运行代码
输出量
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
运营商。
操作员 | 含义 | 例 |
---|---|---|
和 | 如果两个操作数都为真,则为真 | x和y |
要么 | 如果任何一个操作数为真,则为真 | x或y |
不 | 如果操作数为false,则为True(对操作数进行补充) | 不是x |
示例3:Python中的逻辑运算符
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)
运行代码
输出量
x and y is False x or y is True not x is 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 True |
is not | 如果操作数不相同,则为真(不引用同一对象) | x is not True |
示例4:Python中的身份运算符
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)
运行代码
输出量
False True False
在这里,我们看到x1和y1是相同值的整数,因此它们既相等又相同。x2和y2(字符串)的情况相同。
但是x3和y3是列表。它们是相等的但不相同。这是因为尽管它们相等,但解释器还是将它们分别定位在内存中。
成员运算符
in
而not in
在Python成员运算符。它们用于测试在序列(字符串,列表,元组,集合和字典)中是否找到值或变量。
在字典中,我们只能测试键的存在,而不是值。
操作员 | 含义 | 例 |
---|---|---|
in | 如果在序列中找到值/变量,则为真 | 5 in x |
not in | 如果在序列中未找到值/变量,则为真 | 5 not in x |
示例#5:Python中的成员运算符
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)
运行代码
输出量
True True True False
在这里,'H'
是在X,但'hello'
不存在于X(记住,Python是区分大小写)。同样,1
是键,'a'
是字典y中的值。因此,'a' in y
return False
。