23. Python基本运算符,复合赋值运算符和运算符优先级问题
目录
基本运算符
运算符 |
说明 |
and, or, not |
布尔与, 布尔或, 布尔非 |
is, is not |
同一性判断, 判断是否为同一个对象 |
<, <=, >, >=, !=, == |
比较值是否相当, 可以连用 |
&, |, ^ |
按位与, 按位或, 按位异或 |
<<, >> |
移位 |
~ |
按位翻转 |
+, - ,*, /, //, % |
加, 减, 乘, 浮点除, 整数除, 取余 |
** |
冥运算 |
- 比较运算符可以连用
其含义和我们日常使用完全一致;
2 .位操作
乘以2或者除以2,用位移最快
3.加法操作
=> 数字相加 3 + 2 ==> 5
=> 字符串拼接 ‘3’+ ‘2’ ==>’32’
=> 列表,元组等合并 [10,20,30] + [5,10,100] ==>[10,20,30,5,10,100]
- 乘法操作
=> 数字相乘 3 * 2 ==> 6
=> 字符串复制 ‘sex’ * 3 ==>’sexsexsex’
=> 列表,元组等复制 [1,23] * 2 ==>[1,23,1,23]
复合赋值运算符
复合赋值可以让程序更加精炼, 提高效率
运算符 |
描述 |
示例 |
等价于 |
+= |
加法赋值 字符串拼接 |
sum += n a += ‘sex’ |
sum = sum + n a = a + ‘sex’ |
-= |
减法赋值 |
num -= n |
num = num -n |
*= |
乘法赋值 |
a *= b |
a = a * b |
/= |
浮点除赋值 |
a /= b |
a = a / b |
//= |
整数除赋值 |
a //= b |
a = a // b |
%= |
取余赋值 |
a %= b |
a = a % b |
**= |
冥运算赋值 |
a **= 2 |
a = a ** 2 |
<<= |
左移赋值 |
a <<= 2 |
a = a << 2 |
>>= |
右移赋值 |
a >>= 2 |
a = a >> 2 |
&= |
按位于赋值 |
a &= b |
a = a & b |
|= |
按位或赋值 |
a |= b |
a = a | b |
^= |
按位异或赋值 |
a ^= b |
a = a ^ b |
注: 与C 和java 不一样, Python 不支持自增(++)和自减(--);
运算符优先级问题
实际使用中,记住简单规则即可,需要可以百度, 复杂的表达式一定要使用小括号组织;
=> 乘除优先加减;
=> 位运算和算术运算 > 比较运算符 > 赋值运算符 > 逻辑运算符