掌握Python基础运算的关键是理解运算符优先级、结合性及数据类型行为。算术运算符中/为真除法、//向负无穷取整、%符号随右操作数、**优先级高于正负号;比较与逻辑运算符中and/or返回操作数本身,位运算符仅适用于整数;赋值支持链式但不支持链式判断,增强赋值对可变对象原地修改;表达式求值需注意括号提升可读性及隐式类型转换规则。
掌握Python基础运算,关键是理解运算符的优先级、结合性,以及不同类型数据参与运算时的行为。别死记符号,要通过实际表达式观察结果,再反推规则。
Python的算术运算符包括 + - * / // % **。注意几个易错点:
5 / 2 得 2.5)-7 // 3 得 -3,不是 -2)-7 % 3 得 2,7 % -3 得 -2)-2**2 等价于 -(2**2),结果是 -4
== != = 返回布尔值;and or not 是短路逻辑运算符,返回的是操作数本身(非固定 True/False):
0 and "hello" → 0(and 遇假即停,返回第一个假值)"" or [1,2] → [1,2](or 遇真即停,返回第一个真
值)= 是赋值,不是相等;支持链式赋值但不支持链式比较:
a = b = c = 10 合法,让三个变量指向同一对象0 合法(Python支持连续比较),等价于 0 a == b == c 也合法,逐个比较相等性+= -= *= 会尝试调用对象的 __iadd__ 等方法,对可变对象(如 list)是原地修改,不可变对象(如 int、str)则退化为普通赋值表达式执行顺序由运算符优先级和结合性决定。常见组合建议加括号提升可读性:
(a + b) & 0xFF 比 a + b & 0xFF 更清晰if (x > 0) and (y / x > 2): 明确避免除零3 + 4.0 → 7.0(int 自动转 float),但 "1" + 2 报错(str 和 int 不支持 +)不复杂但容易忽略。多写几行 print 表达式,边运行边验证,比背表格管用得多。