当前位置:首页>python>Python语言基础:7_运算符

Python语言基础:7_运算符

  • 2026-09-14 11:42:32
Python语言基础:7_运算符

Python3 运算符超详细新手教程(全分类 + 逐例讲解 + 避坑指南)

运算符就是用来对数据进行计算、比较、逻辑判断的符号,是写代码的基础工具。Python 运算符共分 7 大类,我会从最常用的开始讲,每个都配可运行的例子和结果,零基础也能看懂。


前置说明

  1. 所有运算符的符号、标点必须是英文半角,中文符号直接报错
  2. 运算有优先级,不确定的时候加括号() 最稳妥,不会出错
  3. 本文所有代码都可以直接复制到 Python 解释器里运行验证

一、算术运算符(最基础,做数学计算)

用来做加减乘除等数学运算,是新手第一个要掌握的。

运算符
名称
作用说明
示例(a=10, b=3)
运行结果
+
加
两个数相加;也可拼接字符串
a + b13
-
减
两个数相减
a - b7
*
乘
两个数相乘;也可重复字符串
a * b30
/
除(浮点除法)
两数相除,结果一定是小数
a / b3.3333333333333335
//
整除(地板除)
两数相除,只保留整数部分,向下取整
a // b3
%
取余(取模)
两数相除,取余数
a % b1
**
幂运算
计算次方,a**b 就是 a 的 b 次方
a ** b1000

1. 基础数值计算示例

a = 10b = 3print("加:", a + b)      # 加: 13print("减:", a - b)      # 减: 7print("乘:", a * b)      # 乘: 30print("浮点除:", a / b)  # 浮点除: 3.3333333333333335print("整除:", a // b)   # 整除: 3print("取余:", a % b)    # 取余: 1print("10的3次方:", a ** b) # 10的3次方: 1000

2. 重点易错点(新手必踩坑)

坑 1:/ 和 // 完全不同

  • /
     哪怕能整除,结果也是浮点数(带.0)
  • //
     只取整数部分,直接舍弃小数,不是四舍五入
print(6 / 2)    # 3.0 (浮点数)print(6 // 2)   # 3   (整数)print(9 // 2)   # 4   (直接砍掉0.5,不是5)

坑 2:负数整除是「向下取整」,不是截断小数

向下取整 = 往更小的数字靠,新手非常容易算错

print(5 // 2)    # 2 (正常)print(-5 // 2)   # -3 (不是-2!因为-3比-2更小,向下取整)print(-5 % 2)    # 1 (余数和除数同号,2是正的,余数就是正的)

3. 字符串的特殊算术运算

+ 和 * 也能用于字符串,规则和数字不一样:

  • +
    :拼接两个字符串
  • *
    :重复字符串 N 次
# 字符串拼接s1 = "Hello"s2 = "Python"print(s1 + s2)  # HelloPython# 字符串重复print("加油!" * 3)  # 加油!加油!加油!

⚠️ 注意:数字和字符串不能直接 +,会报错,必须先转类型。


二、赋值运算符(给变量存值)

核心作用:把右边的值,赋值给左边的变量。最基础的是 =,还有复合赋值运算符。

运算符
示例
等价于
说明
=a = 10
-
最基础赋值,把 10 存进变量 a
+=a += 5a = a + 5
加完再赋值
-=a -= 5a = a - 5
减完再赋值
*=a *= 5a = a * 5
乘完再赋值
/=a /= 5a = a / 5
除完再赋值(结果浮点)
//=a //= 5a = a // 5
整除完再赋值
%=a %= 5a = a % 5
取余完再赋值
**=a **= 2a = a ** 2
幂运算完再赋值

示例演示

num = 10    # 基础赋值print(num)  # 10num += 5    # 等价于 num = num + 5 → 10+5=15print(num)  # 15num -= 3    # 15-3=12print(num)  # 12num *= 2    # 12*2=24print(num)  # 24num /= 4    # 24/4=6.0 (除法默认浮点数)print(num)  # 6.0

新手注意

  1. 赋值是从右往左算:先算右边的表达式,再把结果存给左边的变量
  2. =
     是赋值,== 是判断相等,千万不要搞混!
    • 错误:if a = 10: (直接语法报错)
    • 正确:if a == 10:

三、比较运算符(判断大小 / 相等,结果只有 True/False)

用来对比两个值,运算结果一定是布尔值:True(成立)或 False(不成立),是条件判断的核心。

运算符
含义
示例(a=10, b=3)
结果
==
等于(两个等号)
a == 10True
!=
不等于
a != bTrue
>
大于
a > bTrue
<
小于
a < bFalse
>=
大于等于
a >= 10True
<=
小于等于
b <= 2False

示例演示

x = 20y = 15print(x == y)   # False  20不等于15print(x != y)   # True   20不等于15,成立print(x > y)    # Trueprint(x < 10)   # Falseprint(x >= 20)  # True   大于等于,相等也算成立print(y <= 15)  # True

补充说明

  1. 字符串也能比较
    :按字符的 ASCII 编码大小比,小写字母 > 大写字母  
    print("a" > "A")  # Trueprint("abc" < "abd")  # True  逐个字符对比,前两个相同,c < d
  2. 布尔值参与数值比较
    :True 等价于 1,False 等价于 0
    print(True == 1)   # Trueprint(False == 0)  # True

四、逻辑运算符(多条件组合,条件判断必用)

用来把多个条件拼在一起,实现「并且、或者、反过来」的逻辑,结果也是布尔值。

运算符
含义
规则
示例
结果
and
并且(与)
两边全部为 True,结果才是 True;有一个 False 就为 False
5>1 and 3>2True
or
或者(或)
两边任意一个为 True,结果就是 True;全 False 才是 False
5<1 or 3>2True
not
取反(非)
True 变 False,False 变 True
not 5>1False

1. 基础示例

age = 25score = 85# and:两个条件都要满足print(age >= 18 and score >= 80)  # True  年龄达标+分数达标print(age >= 30 and score >= 80)  # False 年龄不达标,整体不成立# or:满足一个就行print(age >= 30 or score >= 90)   # False 两个都不满足print(age >= 18 or score >= 90)   # True  年龄满足就行# not:反过来print(not age >= 18)  # False  年龄>=18是True,取反变False

2. 重点:短路特性(新手必懂)

逻辑运算有「偷懒机制」,能确定最终结果时,后面的代码就不执行了:

  • and 短路
    :左边是 False,直接返回 False,右边代码完全不执行
  • or 短路
    :左边是 True,直接返回 True,右边代码完全不执行

示例验证

# 定义一个函数,调用就会打印文字def test():    print("我被执行了")    return True# and 左边是False,右边不执行print("---and短路测试---")print(False and test())  # 只输出 False,不会打印"我被执行了"# or 左边是True,右边不执行print("---or短路测试---")print(True or test())   # 只输出 True,不会打印"我被执行了"

3. 优先级

三个逻辑运算符优先级:not > and > or 不确定就加括号,最稳妥:

# 不加括号:先算and,再算orprint(True or False and False)  # True# 加括号:先算or,再算andprint((True or False) and False) # False

五、成员运算符(判断元素是否在容器里)

用来判断「某个值是否在字符串、列表、字典等容器中」,处理数据时非常常用。

运算符
含义
示例
结果
in
存在于... 中
"a" in "apple"True
not in
不存在于... 中
5 not in [1,2,3]True

1. 不同场景示例

① 判断字符串中是否包含某个字符

word = "Python"print("P" in word)    # Trueprint("x" in word)    # Falseprint("th" in word)   # True  也可以判断连续子串

② 判断列表中是否有某个元素

fruits = ["苹果", "香蕉", "橙子"]print("香蕉" in fruits)   # Trueprint("西瓜" in fruits)   # False

③ 判断字典中是否有某个键

⚠️ 注意:字典默认判断的是键(key),不是值

student = {"name":"小明", "age":18}print("name" in student)   # True  键存在print("小明" in student)   # False 不能直接判断值

六、身份运算符(判断是不是同一个对象)

用来判断两个变量是不是同一个内存地址的对象,通俗说就是「是不是同一个东西」。

运算符
含义
is
是同一个对象(内存地址相同),返回 True
is not
不是同一个对象,返回 True

核心区别:== 和 is 完全不一样

  • ==
    :判断值是否相等(内容一样就行)
  • is
    :判断是不是同一个对象(内存地址必须一样)

示例 1:数值的小整数池

Python 对小整数(-5~256)做了优化,相同数值会复用同一个对象

a = 10b = 10print(a == b)    # True  值相等print(a is b)    # True  同一个对象,内存地址相同print(id(a), id(b))  # 两个id一样,id()用来查看内存地址

示例 2:列表的对比(最能体现区别)

两个列表内容完全一样,但它们是两个独立的对象,内存地址不同

list1 = [1,2,3]list2 = [1,2,3]print(list1 == list2)   # True   内容完全一样print(list1 is list2)   # False  不是同一个对象print(id(list1), id(list2))  # 两个id不一样

新手建议

日常判断值相等就用 ==,is 一般用来判断 None、布尔值这种特殊场景:

flag = Noneif flag is None:    print("是空值")

七、位运算符(新手了解即可,前期用不到)

直接操作二进制位的运算符,底层开发、算法优化才会用到,新手先知道有就行。

运算符
名称
规则
&
按位与
对应位都为 1,结果才为 1
`
`
按位或
对应位有一个 1,结果就为 1
^
按位异或
对应位不同,结果为 1
~
按位取反
0 变 1,1 变 0
<<
左移
二进制位左移,右边补 0
>>
右移
二进制位右移,左边补符号位

简单示例

a = 6   # 二进制:0110b = 3   # 二进制:0011print(a & b)  # 2  (0010)print(a | b)  # 7  (0111)print(a << 1) # 12 左移1位,相当于乘2

八、运算符优先级(新手必看,避免算错)

运算有先后顺序,从高到低排列如下,记不住就加括号,永远不会错。

优先级(从高到低)
运算符类型
符号
1(最高)
括号
()
2
幂运算
**
3
正负号
+x
、-x
4
乘除类
*
、/、//、%
5
加减类
+
、-
6
位移
<<
、>>
7
按位与
&
8
按位异或 / 或
^
、`
`
9
比较运算符
==
、!=、>、<、>=、<=
10
身份 / 成员
is
、is not、in、not in
11
逻辑非
not
12
逻辑与
and
13(最低)
逻辑或
or

示例验证

# 先算乘除,后算加减print(2 + 3 * 4)   # 14  先算3*4=12,再加2# 加括号改变顺序print((2 + 3) * 4) # 20  先算括号里的5,再乘4

九、新手高频易错点总结

  1. = 和 == 混淆
    :赋值用单个=,判断相等必须用两个==
  2. 除法搞混
    :/ 结果一定是浮点数,// 是整除取整,负数会向下取整
  3. 逻辑运算优先级
    :not > and > or,复杂表达式一定要加括号
  4. 字符串和数字不能直接 +
    :必须用 str() 转成字符串再拼接
  5. in 判断字典默认判断键
    :想判断值需要用 值 in 字典.values()
  6. is 和 == 不分
    :判断内容相等用==,判断是不是同一个对象用is
  7. 所有运算符符号都必须是英文,中文标点直接语法报错

最新文章

随机文章