运算符
Python中的运算符用于执行数学计算、比较操作、逻辑运算以及位运算等。这些运算符可以是单目(只操作一个值)、双目(操作两个值)或三目(操作三个值,Python中主要通过条件表达式实现)。Python支持以下运算符: 算术运算符 、比较(关系)运算符、 赋值运算符、 逻辑运算符、 位运算符。
算数运算符
运算符 | 描述 | 实例 |
+ | 加——两个数相加 | 10+11输出结果21 |
- | 减——得到负数或者两个数相减 | 21-10输出结果11 |
* | 乘——两个数相乘或者返回一个被重复若干次的字符串 | 21*10输出结果210 |
/ | 除——x除以y | 21/10输出结果2.1 |
% | 取模——返回除法的余数 | 21%10输出结果1 |
** | 幂——返回x的y次幂 | 2**3结果为2的3次方 |
// | 取整数——往小的方向取整数 | 9//2输出结果为4 |
代码编写方法:
# + - * / % ** //
a = 10
b = 20
# 就是算术计算的结果
print(a + b)
print(a - b)
print(a * b)
print(a / b)
print(a % b)
print(a ** b)
# 除数向下取整
print(a // b)
输出结果:
30
-10
200
0.5
10
100000000000000000000
0
比较运算符
令a = 10;b = 20
运算符 | 描述 | 实例 |
== | 等于——比较对象是否相等 | (a==b)返回False |
!= | 不等于——比较两个对象是否不相等 | (a!=b)返回True |
> | 大于——返回x是否大于y | (a>b)返回Flase |
< | 小于——返回x是否小于y | (a<b)返回True |
>= | 大于等于——返回x是否大于等于y | (a>=b)返回False |
<= | 小于等于——返回x是否小于等于y | (a<=b)返回True |
代码编写方法:
a = 10
b = 20
# 比较运算符 > < >= <= != ==
# 和条件语句一起
print(a > b)
print(a < b)
print(a >= b)
print(a <= b)
print(a != b)
print(a == b)
输出结果(布尔bool型):
False
True
False
True
True
False
赋值运算符
运算符 | 描述 | 实例 |
= | 简单的赋值运算符 | c = a + b将a+b的运算结果赋值为c |
+= | 加法赋值运算符 | c += a 等效于c = c + a |
-= | 减法赋值运算符 | c -= a 等效于c = c - a |
*= | 乘法赋值运算符 | c *= a 等效于c = c * a |
/= | 除法赋值运算符 | c /= a 等效于c = c / a |
%= | 取模赋值运算符 | c %= a 等效于c = c % a |
**= | 幂赋值运算符 | c += a 等效于c = c ** a |
//= | 取整除赋值运算符 | c += a 等效于c = c // a |
代码编写方法:
a = 10
b = 20
# 赋值运算符
c = a + b
print(c)
c += a # => c = c + a
print(c)
c -= a # => c = c - a
print(c)
c *= a # => c = c * a
print(c)
c /= a # => c = c / a
print(c)
c %= a # => c = c % a
print(c)
c **= a # => c = c ** a
print(c)
c //= a # => c = c // a
print(c)
输出结果:
30
40
30
300
30.0
0.0
0.0
0.0
逻辑运算符
运算符 | 逻辑表达式 | 描述 | 实例 |
and | x and y | 布尔"与"—如果x为False,x and y返回x的值,否则返回y的计算值 | (a and b)返回20 |
or | x or y | 布尔"或"—如果x 是True,它返回x的值,否则它返回y的计算值 | (a or b)返回10 |
not | not x | 布尔"非"—如果x 为True,他返回False。如果x为Flase,它返回True | not(a and b)返回Flase |
代码编写方法:
a = 10
b = 20
# 逻辑运算符
# and 前后结果都是True才行 非0即True
# or 前后有一个结果是True 结果才是True
print(a and b)
print(a or b)
print(not b)
输出结果:
20
10
False
位运算
二进制运算
令a = 60 , b = 13 , c = 0
运算符 | 描述 | 实例 |
& | 按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0 | (a & b)输出结果12,二进制解释: 0000 1100 |
| | 按位或运算符:只要对应的两个二进位有一个为1时,结果位就为1. | (a | b)输出结果61 二进制解释: 0011 1101 |
^ | 按位异或运算符:当两对应的二进位相异时,结果为1。 | (a ^ b)输出结果49 二进制解释: 0011 0001 |
~ | 按位取反运算符:对数据的每个二进位取反,即把1变为0,把0变为1。~x类似于 -x-1 | ~a输出结果-61 二进制解释: 1100 0011 |
<< | 左移动运算符:运算数的各二进位全部左移若干位,由"<<"右边的数指定移动的位数,高位丢弃,低位补0 | a<<2输出结果240 二进制解释: 1111 0000 |
>> | 右移动运算符:运算数的各二进位全部右移若干位,由"<<"右边的数指定移动的位数 | a>>2输出结果49 二进制解释: 0000 1111 |
# 位运算
a = 60 #0011 1100
b = 13 #0000 1101
c = 0
print(a & b)
# 与运算 两者上下对应位置都为1 结果才为1
# 0011 1100
# 0000 1101
-------------
# 0000 1100
print(a | b)
# 或运算 两者上下对应位置有一个为1 结果就为1
# 0011 1100
# 0000 1101
------------
# 0011 1101
print(a ^ b)
# 异或运算 两者上下对应位置结果相异时 结果为1
# 0011 1100
# 0000 1101
------------
# 0011 0001
print(a << 2) #向左移动两位
#原 0011 1100 》》》 11 1100 00
print(b >> 2)
# 原 0000 1101》》》00 0000 11
输出结果(以十进制返回):
12
61
49
240
3
总结
以上为Python支持的运算符: 算术运算符 、比较(关系)运算符、 赋值运算符、 逻辑运算符和 位运算符在Python中的使用方法。