Python 运算符
搞懂Python常用的运算符
运算符用于对变量和值执行操作。比如: 1 +2 = 3 中,1 和 2 被称为操作数,"+" 称为运算符。
Python支持运算符的类型如下:
算术运算符
赋值运算符
比较运算符
逻辑运算符
身份运算符
成员运算符
位运算符
下面我们一起来看看。
算术运算符
运算符 | 描述 | 实例 | 结果 |
+ | 加(两个数相加) | 1 + 2 | 3 |
- | 减(两个数相减) | 2 - 1 | 1 |
* | 乘(两个数相乘) | 1 * 2 | 2 |
/ | 除(两个数相除) | 6 / 3 | 2 |
// | 取整除(向下取接近商的整数) | 7//2 | 3 |
% | 取模(返回除法的余数) | 5 % 3 | 2 |
** | 幂(返回x的y次幂) | 2**4 | 16 |
以下实例演示了Python所有算术运算符的操作:
a = 1
b = 2
c = 6
d = 7
x = a + b
print("a + b =", x)
x = b - a
print("b - a =", x)
x = a * b
print("a * b=", x)
x = c / b
print("c / b=", x)
x = d // b
print("d // b=", x)
x = d % b
print("d % b =", x)
x = b**c
print("b**c=", c)
执行结果:
a + b = 3
b - a = 1
a * b = 2
d // b = 3
d % b = 1
b**c= 64
赋值运算符
赋值运算符用来把右侧的值传递给左侧的变量,赋值运算符是等号=,结合其它运算符还能扩展出更强大的赋值运算符。
运算符 | 说 明 | 用法举例 | 等价形式 |
= | 简单的赋值运算符 | x = y | x = y |
+= | 加法赋值运算符 | x += y | x = x + y |
-= | 减法赋值运算符 | x -= y | x = x - y |
*= | 乘法赋值运算符 | x *= y | x = x * y |
/= | 除法赋值运算符 | x /= y | x = x / y |
%= | 取余数赋值运算符 | x %= y | x = x % y |
**= | 幂赋值运算符 | x **= y | x = x ** y |
//= | 取整数赋值运算符 | x //= y | x = x // y |
&= | 按位与赋值运算符 | x &= y | x = x & y |
|= | 按位或赋值 | x |= y | x = x | y |
^= | 按位异或赋值运算符 | x ^= y | x = x ^ y |
<<= | 左移赋值运算符 | x <<= y | x = x << y,这里的 y 指的是左移的位数 |
>>= | 右移赋值运算符 | x >>= y | x = x >> y,这里的 y 指的是右移的位数 |
以下实例演示了Python所有赋值运算符的操作:
a = 12
b = 25
c = a + b
print("a + b =", c)
c += a
print("c = ", c)
c *= a
print("c = ", c)
c /= a
print("c = ", c)
c %= a
print("c = ", c)
c **= a
print("c = ", c)
c//= a
print("c = ", c)
执行结果:
a + b = 37
c += a : 49
c *= a : 588
c /= a : 49
c %= a : 1
c **= a : 1
c//= a : 0
比较运算符
比较运算符也称关系运算符,用于对常量、变量或表达式的结果进行大小比较,比较的结果只有True(真)或False(假)两种状态。
运算符 | 描述 | 实例 | 结果 |
== | 等于(比较对象是否相等) | 1 == 2 | False |
!= | 不等于(比较两个对象是否不相等) | 1 != 2 | True |
> | 大于(返回x是否大于y) | 1 > 2 | False |
< | 小于(返回x是否小于y) | 1 < 2 | True |
>= | 大于等于(返回x是否大于等于y) | 1 >= 2 | False |
<= | 小于等于(返回x是否小于等于y) | 1 <= 2 | True |
a = 1
b = 2
if ( a == b ):
print("a 等于 b")
else:
print("a 不等于 b")
if ( a != b ):
print("a 不等于 b")
else:
print("a 等于 b")
if ( a < b ):
print("a 小于 b")
else:
print("a 大于等于 b")
if ( a > b ):
print("a 大于 b")
else:
print("a 小于等于 b")
if ( a >= b ):
print("a 大于等于 b")
else:
print("a 小于 b")
if ( a <= b ):
print("a 小于等于 b")
else:
print("a 大于 b")
执行结果:
a 不等于 b
a 不等于 b
a 小于 b
a 小于等于 b
a 小于b
a 小于等于 b
逻辑运算符
逻辑运算符用于组合条件语句:
运算符 | 表达式 | 描述 | 实例 | 结果 |
and | x and y | 且,两个值都为真返回真 | True and True | True |
or | x or y | 或,有一个值为真返回真 | True or False | True |
not | not x | 非,相反,值为真返回假 | not True | False |
print(100 and 200)
print(True and False)
print(not (True and False))
print("" or "lidihuo")
print(1 or "lidihuo")
执行结果:
注意:逻辑运算符的结果并非只有True和False
身份运算符
身份运算符用于比较对象是否为同一个对象。
运算符 | 描述 | 实例 | 结果 |
is | 引用自一个对象返回True | 1 is ‘1’ | False |
is not | 不是同一个对象返回True 1 | is not ‘1’ | True |
a = 1
b = 1
print(a is b)
print(id(a) == id(b)) # id() 函数用于获取对象内存地址
执行结果:
注意:is 与 == 区别是is 用于判断两个变量引用对象是否为同一个, == 用于判断引用变量的值是否相等。
成员运算符
成员资格运算符用于测试序列是否在对象中出现
运算符 | 描述 | 实例 |
in | 如果对象中存在具有指定值的序列,则返回 True。 | x in y |
not in | 如果对象中不存在具有指定值的序列,则返回 True。 | x not in y |
a = 1
b = 10
list = [1, 2, 3, 4, 5 ]
print(a in list)
print(b not in list)
执行结果:
位运算符
位运算符用于比较(二进制)数字
运算符 | 描述 | 实例 |
& | AND,参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0 | (a & b) 输出结果 12 ,二进制解释: 0000 1100 |
| | OR,只要对应的二个二进位有一个为1时,结果位就为1。 | (a | b) 输出结果 61 ,二进制解释: 0011 1101 |
^ | XOR,当两对应的二进位相异时,结果为1 | (a ^ b) 输出结果 49 ,二进制解释: 0011 0001 |
~ | NOT,对数据的每个二进制位取反,即把1变为0,把0变为1。 | (~a ) 输出结果 -61 ,二进制解释: 1100 0011, 在一个有符号二进制数的补码形式。 |
<< | 左移动运算符:运算数的各二进位全部左移若干位。 | a << 2 输出结果 240 ,二进制解释: 1111 0000 |
>> | 右移动运算符:把">>"左边的运算数的各二进位全部右移若干位。 | a >> 2 输出结果 15 ,二进制解释: 0000 1111 |
a = 60 # 60 = 0011 1100
b = 13 # 13 = 0000 1101
c = 0
c = a & b # 12 = 0000 1100
print("1 - c 的值为:", c)
c = a | b # 61 = 0011 1101
print("2 - c 的值为:", c)
c = a ^ b # 49 = 0011 0001
print("3 - c 的值为:", c)
c = ~a # -61 = 1100 0011
print("4 - c 的值为:", c)
c = a << 2 # 240 = 1111 0000
print("5 - c 的值为:", c)
c = a >> 2 # 15 = 0000 1111
print("6 - c 的值为:", c)
执行结果:
1 - c 的值为: 12
2 - c 的值为: 61
3 - c 的值为: 49
4 - c 的值为: -61
5 - c 的值为: 240
6 - c 的值为: 15
运算符优先级
运算符 | 描述 |
** | 指数 (最高优先级) |
~ + - | 按位翻转, 一元加号和减号 (最后两个的方法名为 +@ 和 -@) |
* / % // | 乘,除,求余数和取整除 |
+ - | 加法减法 |
>> << | 右移,左移运算符 |
& | 位 'AND' |
^ | | 位运算符 |
<= < > >= | 比较运算符 |
== != | 等于运算符 |
= %= /= //= -= += *= **= | 赋值运算符 |
is is not | 身份运算符 |
in not in | 成员运算符 |
not and or | 逻辑运算符 |
a = 20
b = 10
c = 15
d = 5
e = (a + b) * c / d;
print('(a + b) * c / d: ',e)
e = (((a + b) * c) / d;
print('(((a + b) * c) / d: ',e)
e = (a + b) * (c / d);
print('a + b) * (c / d: ',e)
e = a + (b * c) / d;
print('a + (b * c) / d: ',e)
执行结果:
(a + b) * c / d: 90)
(((a + b) * c) / d: 90)
a + b) * (c / d: 90)
a + (b * c) / d: 50)
python中的运算符是什么?
运算符是Python中执行算术或逻辑计算的特殊符号。运算符所操作的值称为操作数。
例如:
在这里,+是执行加法的运算符。2和3是操作数,5是操作的输出。