python运算符 - 教程
一、Python 运算符核心分类(附用法示例)
Python 运算符主要分为 7 大类,以下是高频使用的核心运算符及实战示例:
1. 算术运算符(最基础,用于数值计算)
| 运算符 | 作用 | 示例 | 结果 |
|---|---|---|---|
+ | 加法 / 字符串拼接 | 5+3 / "Hello"+"Python" | 8 / "HelloPython" |
- | 减法 | 10-4 | 6 |
* | 乘法 / 字符串重复 | 4*5 / "a"*3 | 20 / "aaa" |
/ | 除法(返回浮点数) | 10/3 | 3.3333333333333335 |
// | 整除(向下取整) | 10//3 / -10//3 | 3 / -4 |
% | 取模(求余数) | 10%3 / 10%-3 | 1 / -2 |
** | 幂运算 | 2**3 / 10**0.5 | 8 / 3.1622776601683795 |
python
运行
# 算术运算符综合示例
a = 10
b = 3
print(f"加法:{a+b}") # 13
print(f"除法:{a/b}") # 3.3333333333333335
print(f"整除:{a//b}") # 3
print(f"取模:{a%b}") # 1
print(f"幂运算:{a**b}") # 1000
print(f"字符串重复:{'py'*2}") # pypy
2. 赋值运算符(给变量赋值,=` 是基础,结合算术运算符可简化代码)
| 运算符 | 等价写法 | 示例 | 结果 |
|---|---|---|---|
= | - | x=5 | x=5 |
+= | x = x + y | x=5; x+=3 | x=8 |
-= | x = x - y | x=5; x-=3 | x=2 |
*= | x = x * y | x=5; x*=3 | x=15 |
/= | x = x / y | x=5; x/=3 | x≈1.6667 |
//= | x = x // y | x=5; x//=3 | x=1 |
%= | x = x % y | x=5; x%=3 | x=2 |
python
运行
# 赋值运算符简化代码示例
num = 10
num += 5 # 等价于 num = num + 5
print(num) # 15
num *= 2 # 等价于 num = num * 2
print(num) # 30
3. 比较运算符(返回布尔值True/False,用于条件判断)
| 运算符 | 作用 | 示例 | 结果 |
|---|---|---|---|
== | 等于(判断值是否相等) | 5==5 / "abc"=="Abc" | True / False |
!= | 不等于 | 5!=3 | True |
> | 大于 | 10>5 | True |
< | 小于 | 10<5 | False |
>= | 大于等于 | 10>=10 | True |
<= | 小于等于 | 10<=5 | False |
⚠️ 易错点:不要把==写成=(=是赋值,==是判断相等)。
python
运行
# 比较运算符示例(常用于if条件)
age = 18
print(age >= 18) # True
if age == 18:
print("已成年") # 执行该语句
4. 逻辑运算符(组合多个条件,返回布尔值)
| 运算符 | 作用(短路求值) | 示例 | 结果 |
|---|---|---|---|
and | 与:全 True 才 True | True and False / 5>3 and 10<20 | False / True |
or | 或:有一个 True 就 True | True or False / 5>3 or 10>20 | True / True |
not | 非:取反 | not True / not (5>3) | False / False |
python
运行
# 逻辑运算符短路求值示例(效率优化)
# and:第一个条件为False,直接返回False,不执行第二个条件
print(False and (1/0)) # False(不会触发除零错误)
# or:第一个条件为True,直接返回True,不执行第二个条件
print(True or (1/0)) # True(不会触发除零错误)
5. 成员运算符(判断元素是否在序列中)
| 运算符 | 作用 | 示例 | 结果 |
|---|---|---|---|
in | 判断元素在序列中 | 3 in [1,2,3] / "py" in "python" | True / True |
not in | 判断元素不在序列中 | 4 not in [1,2,3] | True |
python
运行
# 成员运算符示例
lst = [1, 2, 3, 4]
print(5 in lst) # False
print(3 not in lst) # False
str1 = "hello"
print("h" in str1) # True
6. 身份运算符(判断两个变量是否指向同一对象)
| 运算符 | 作用 | 示例 | 结果 |
|---|---|---|---|
is | 判断内存地址相同 | a=10; b=10; a is b | True |
is not | 判断内存地址不同 | a=[1]; b=[1]; a is not b | True |
⚠️ 易错点:is 对比的是内存地址,== 对比的是值:
python
运行
a = [1,2,3]
b = [1,2,3]
print(a == b) # True(值相等)
print(a is b) # False(内存地址不同)
7. 位运算符(操作二进制位,高频用于底层 / 性能优化,新手可先了解)
| 运算符 | 作用 | 示例(二进制) | 结果(十进制) | ||
|---|---|---|---|---|---|
& | 按位与 | 6(0110) & 3(0011) | 2(0010) | ||
| ` | ` | 按位或 | `6 | 3` | 7(0111) |
^ | 按位异或 | 6 ^ 3 | 5(0101) | ||
~ | 按位取反 | ~6 | -7 | ||
<< | 左移(乘以 2) | 6 << 1 | 12 | ||
>> | 右移(除以 2) | 6 >> 1 | 3 |
二、运算符优先级(核心规则)
当多个运算符同时出现时,Python 按以下优先级执行(从高到低):
- 幂运算
** - 按位取反
~ - 算术运算符(
*//////%>+/-) - 位运算符(
<</>>>&>^>|) - 比较运算符(
==/!=/>/</>=/<=) - 身份运算符(
is/is not) - 成员运算符(
in/not in) - 逻辑运算符(
not>and>or)
实用技巧:不确定优先级时,用括号()强制指定执行顺序(可读性更高):
python
运行
# 优先级示例:加括号更清晰
print(10 + 5 * 2) # 20(先乘后加)
print((10 + 5) * 2) # 30(先加后乘)
三、新手高频易错点
- 除法差异:
/返回浮点数,//向下取整(负数需注意:-10//3 = -4而非-3); ==vsis:前者比 “值”,后者比 “内存地址”,不可混用;- 逻辑运算符短路:
and/or会提前终止计算(可利用此特性优化代码); - 字符串 / 列表的算术运算:仅
+(拼接)和*(重复)可用,-//会报错。
总结
- Python 运算符核心分为 7 类,其中算术、赋值、比较、逻辑运算符是日常开发高频使用的核心;
- 优先级可通过括号
()简化记忆,无需死记硬背; - 重点区分
==与is、/与//的差异,避免基础错误。

浙公网安备 33010602011771号