在本教程中,您将学习有关 Python 中不同类型的运算符,它们的语法以及如何在示例中使用它们的所有知识。
python 中的运算符是什么?
运算符是 Python 中执行算术或逻辑计算的特殊符号。 运算符所操作的值称为操作数。
例如:
>>> 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 中的算术运算符
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
运算符。
运算符 | 含义 | 示例 |
---|---|---|
and |
如果两个操作数都为True ,则为True |
x and y |
or |
如果任何一个操作数为True ,则为True |
x or y |
not |
如果操作数为false ,则为True (对操作数进行取反) |
not 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 分配给左边的变量。
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 |
如果操作数相同,则为True (引用同一对象) |
x is True |
is not |
如果操作数不相同,则为True (不引用同一对象) |
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 |
如果在序列中找到值/变量,则为True |
5 in x |
not in |
如果在序列中未找到值/变量,则为True |
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
返回False
。