点击跳转
《Python入门系列目录》
1. 算术运算符
运算符用于在表达式中对一个或多个操作数进行计算并返回结果值
运算符 | 功能说明 |
---|---|
+ | 算术加法,列表、元组、字符串合并与连接,正号 |
- | 算术减法,集合差集,相反数 |
* | 算术乘法,序列重复 |
/ | 真除法 |
// | 求整商 |
% | 求余数 |
** | 幂运算 |
-
+ 运算符
- +运算符除了用于算术加法以外,还可用于列表、元组、字符串的连接
print('abc' + 'def') # abcdef print([1, 2] + [3, 4]) # [1, 2, 3, 4] print((1, 2) + (3,)) # (1, 2, 3)
- 整数可以有无数位,但是浮点数只能包括小数点在内前后共18位,即17个数字+1个小数点
a = 123.4567891234567891111111 b = 123456789123456789123456789.0 print(a) # 123.45678912345679 print(b) # 1.2345678912345679e+26
-
- 运算符
-
-运算符除了用于整数、实数、复数之间的算术减法和相反数之外,还可以计算集合的差集
-
需要注意的是,在进行实数之间的运算时,有可能会出现误差
print(7.9 - 4.5) # 出现误差,3.4000000000000004 print(--3) # 3 print({1, 2, 3} - {3, 4, 5}) # {1, 2} print({3, 4, 5} - {1, 2, 3}) # {4, 5}
-
-
*运算符
- *运算符除了表示整数、实数、复数之间的算术乘法,还可用于列表、元组、字符串这几个类型的对象与整数的乘法,表示序列元素的重复,生成新的列表、元组或字符串
print((3 + 4j) * (5 + 6j)) # (-9+38j) print('重要的事情说三遍!' * 3) # 重要的事情说三遍!重要的事情说三遍!重要的事情说三遍! print([0] * 5) # [0, 0, 0, 0, 0] print((0,) * 3) # (0, 0, 0)
-
/ 和 // 运算符
-
在Python中分别表示真除法和求整商。在使用时,要特别注意整除运算符//“向下取整” 的特点
- 例如,-17/4的结果是-4.25,在数轴上小于-4.25的最大整数是-5,所以-17//4的结果是-5
print(17 / 4) # 4.25 print(17 // 4) # 4 print(-17 / 4) # -4.25 print(-17 // 4) # -5
-
-
% 运算符
- %运算符可以用于求余数运算,还可以用于字符串格式化。在计算余数时,结果与%右侧的运算数符号一致
print(365 % 7) # 1 print(365 % -7) # -6 print(-365 % 7) # 6 print(-365 % -7) # -1 print('%c, %c, %c' % (65, 97, 48)) # A, a, 0
-
** 运算符
-
**运算符表示幂运算
-
该运算符具有右结合性,如果有2个连续的**运算符,那么先计算右边的再计算左边的,除非使用圆括号明确修改表达式的计算顺序
print(2 ** 3 ** 2) # = 2**9 = 512 print(9 ** 0.5) # 得到浮点数3.0 print((-1) ** 0.5) # 得到复数(6.123233995736766e-17+1j)
-
2. 比较运算符
- 数值比较,字符比较(字符比较时,比较ASCII)
- 比较结果返回True,False
运算符 | 功能说明 |
---|---|
<、<=、>、>=、==、!= | (值)大小比较,集合的包含关系比较 |
print(3 + 2 < 7 + 8) # 关系运算符优先级低于算术运算符,True
print(3 < 5 > 2) # 等价于3<5 and 5>2,True
print(3 == 3 < 5) # 等价于3==3 and 3<5,True
print('12345' > '23456') # 第一个字符'1'<'2',直接得出结论,False
print('abcd' > 'Abcd') # 第一个字符'a'>'A',直接得出结论,True
print([85, 92, 73, 84] < [91, 82, 73]) # 第一个数字85<91,直接得出结论,True
print([180, 90, 101] > [180, 90, 99]) # 前两个数字相等,第三个数字101>99,True
print({1, 2, 3, 4} <= {3, 4, 5}) # 比较是否为包含关系,False
print([1, 2, 3, 4] > [1, 2, 3]) # 前三个元素相等,并且第一个列表有多余元素,True
3. 赋值运算符
- 用于对变量的赋值和更新
运算符 | 功能说明 |
---|---|
+=、-=、*=、/=、%=、**=、//= | a+=b等效于a=a+b、a%=b等效于a=a%b… |
-
a = a + 3 或 a += 3
4. 逻辑运算符
运算符 | 功能说明 |
---|---|
and、or、not | 逻辑与、逻辑或、逻辑非 |
-
在不加括号时候, and优先级大于or
-
or 计算法则
-
如果or左边的为真,那么就返回or左边的那个值,如果or左边为假,继续匹配or右边的参数
-
例如
print(False or 1) # 1 print(1 or False) # 1 print(True or 1) # True print(1 or True) # 1
-
-
and 计算法则
-
and是在布尔上下文中从左到右计算表达式的值
-
0、’’、[]、()、{}、None、False在布尔上下文中为假;其它任何东西都为真
-
如果布尔上下文中的某个值为假,则返回第一个假值
-
所有值都为真,则返回最后一个真值
-
例如
print(0 and 1 and 2) # 0 print(2 and 3 and 4) # 4 print(1 and 0) # 0
-
5. 成员运算符、身份运算符、按位运算符
运算符 | 功能说明 |
---|---|
in、not in | 成员测试 |
is、is not | 测试两个对象是否为同一个对象的引用 |
|、^、&、<<、>>、~ | 位或、位异或、位与、左移位、右移位、位求反 |