Appearance
运算符
🎯 什么是运算符?
什么是运算符? 运算符就是用来做运算的符号。就像数学里的 +、-、×、÷ 一样,Python 也有各种运算符来做不同的运算。
想象一下:
+就像加法器,把两个数加起来>就像天平,比较哪个更重and就像"并且",两个条件都要满足
🧮 算术运算符
什么是算术运算符? 算术运算符就是用来做数学计算的符号,和小学数学里学的差不多。
用于进行数学计算:
python
a = 10
b = 3
print(a + b) # 加法:13(就像 10 + 3)
print(a - b) # 减法:7(就像 10 - 3)
print(a * b) # 乘法:30(就像 10 × 3)
print(a / b) # 除法:3.333...(就像 10 ÷ 3)
print(a // b) # 整除:3(只取整数部分,不要小数)
print(a % b) # 取余:1(10 除以 3 余 1,就像分苹果剩下的)
print(a ** b) # 幂运算:1000(10 的 3 次方,就是 10×10×10)什么是整除和取余?
- 整除(
//):只取整数部分,就像分苹果,10 个苹果分给 3 个人,每人 3 个(不要小数) - 取余(
%):只要余数,就像分完苹果剩下的,10 个苹果分给 3 个人,剩下 1 个
运算优先级
什么是运算优先级? 就像数学里"先乘除后加减"一样,Python 也有优先级。优先级高的先算。
python
# 和数学一样:先乘除,后加减,有括号先算括号
result = 2 + 3 * 4 # 14(先算 3*4=12,再算 2+12=14)
result = (2 + 3) * 4 # 20(先算括号 2+3=5,再算 5*4=20)
result = 2 ** 3 ** 2 # 512(从右到左:3**2=9,2**9=512)小提示
不确定优先级时,就用括号!括号最优先,而且代码更容易读。
📊 比较运算符
什么是比较运算符? 比较运算符用来比较两个值的大小或是否相等,结果只有两种:True(真)或 False(假)。
就像天平一样:
>表示左边比右边重<表示左边比右边轻==表示两边一样重
用于比较两个值,返回 True 或 False:
python
a = 10
b = 5
print(a > b) # 大于:True(10 大于 5 是真的)
print(a < b) # 小于:False(10 小于 5 是假的)
print(a >= b) # 大于等于:True(10 大于或等于 5)
print(a <= b) # 小于等于:False(10 小于或等于 5 是假的)
print(a == b) # 等于:False(10 等于 5 是假的)
print(a != b) # 不等于:True(10 不等于 5 是真的)注意
== 是两个等号,用来比较是否相等。= 是一个等号,用来赋值(把右边的值给左边)。千万别搞混了!
字符串比较
字符串也能比较? 可以!字符串按照字典顺序比较,就像查字典一样,按字母顺序。
python
# 字符串按照字典顺序比较
print("apple" < "banana") # True(apple 在字典里排在 banana 前面)
print("abc" == "abc") # True(完全一样)
print("A" < "a") # True(大写字母排在小写字母前面)🔗 逻辑运算符
什么是逻辑运算符? 逻辑运算符用来组合多个条件,就像说话时的"并且"、"或者"、"不是"。
and - 与(两个都要满足)
什么是 and?and 表示"并且",两个条件都要满足才为真。就像"有钱并且有时间"才能去旅游。
python
age = 25
income = 10000
# 同时满足才为 True
print(age > 18 and income > 5000) # True(年龄大于18 并且 收入大于5000)
print(age > 18 and income > 20000) # False(年龄满足,但收入不满足)生活例子:
- 能买酒:年龄 >= 18 并且 有身份证
- 能看电影:有钱 并且 有时间
or - 或(满足一个即可)
什么是 or?or 表示"或者",满足其中一个条件就为真。就像"有钱或者有会员卡"就能看电影。
python
is_student = True
is_teacher = False
# 满足其一即为 True
print(is_student or is_teacher) # True(是学生或者老师都可以)生活例子:
- 能进图书馆:是学生 或者 是老师
- 能打折:有会员卡 或者 是学生
not - 非(取反)
什么是 not?not 表示"不是",把 True 变成 False,把 False 变成 True。就像开关的反转。
python
is_raining = False
print(not is_raining) # True(不下雨,所以 not is_raining 是 True)生活例子:
- 不下雨:
not is_raining - 不是学生:
not is_student
实际应用
python
age = 20
has_id = True
has_money = True
# 能否买酒:年满 18 且有身份证
can_buy_alcohol = age >= 18 and has_id
print(f"能买酒:{can_buy_alcohol}") # True
# 能否看电影:有钱或有会员
is_vip = False
can_watch = has_money or is_vip
print(f"能看电影:{can_watch}") # True➕ 赋值运算符
什么是赋值运算符? 赋值运算符是 = 的简化写法。比如 x = x + 5 可以写成 x += 5,更简洁。
python
x = 10
x += 5 # 等同于 x = x + 5,结果:15
x -= 3 # 等同于 x = x - 3,结果:12
x *= 2 # 等同于 x = x * 2,结果:24
x /= 4 # 等同于 x = x / 4,结果:6.0
x //= 2 # 等同于 x = x // 2,结果:3.0
x %= 2 # 等同于 x = x % 2,结果:1.0
x **= 3 # 等同于 x = x ** 3,结果:1.0为什么要用赋值运算符? 更简洁!x += 1 比 x = x + 1 短,而且意思更清楚:给 x 加 1。
🔍 成员运算符
什么是成员运算符? 成员运算符用来检查一个元素是否在序列(列表、字符串等)里面。就像检查"苹果"是否在购物清单里。
检查元素是否在序列中:
python
# in - 在里面
fruits = ["苹果", "香蕉", "橙子"]
print("苹果" in fruits) # True(苹果在列表里)
print("葡萄" in fruits) # False(葡萄不在列表里)
# not in - 不在里面
print("葡萄" not in fruits) # True(葡萄不在列表里)
# 字符串也可以用
text = "Hello, World!"
print("Hello" in text) # True("Hello" 在字符串里)
print("Python" in text) # False("Python" 不在字符串里)什么时候用?
- 检查用户名是否已存在
- 检查某个单词是否在文章里
- 检查某个商品是否在购物车里
🎭 身份运算符
什么是身份运算符? 身份运算符用来检查两个变量是否指向同一个对象。就像检查两个盒子是不是同一个盒子。
检查两个对象是否是同一个对象:
python
a = [1, 2, 3]
b = [1, 2, 3]
c = a
# == 比较值是否相等
print(a == b) # True(值相同,都是 [1, 2, 3])
# is 比较是否是同一个对象
print(a is b) # False(不同对象,就像两个不同的盒子,虽然里面东西一样)
print(a is c) # True(c 指向 a,是同一个盒子)什么是对象? 在 Python 里,每个数据都是一个"对象",就像每个盒子都有自己的编号。即使两个盒子里装的东西一样,它们也是不同的盒子。
何时用 is
一般用 == 比较值就够了,is 主要用于比较 None(空值):
python
value = None
if value is None:
print("值为空")📋 运算符优先级
什么是优先级? 优先级决定了哪个运算符先算。就像数学里"先乘除后加减"一样。
从高到低:
| 优先级 | 运算符 | 描述 |
|---|---|---|
| 1 | ** | 幂运算 |
| 2 | +x -x | 正负号 |
| 3 | * / // % | 乘除 |
| 4 | + - | 加减 |
| 5 | < <= > >= != == | 比较 |
| 6 | not | 逻辑非 |
| 7 | and | 逻辑与 |
| 8 | or | 逻辑或 |
建议
遇到复杂表达式时,多用括号让代码更清晰:
python
# 不清晰
result = a + b * c > d and e
# 清晰
result = ((a + (b * c)) > d) and e✏️ 动手练习
练习 1:判断奇偶数
python
num = int(input("请输入一个整数:"))
is_even = num % 2 == 0 # 除以 2 余数为 0 就是偶数
print(f"{num} 是偶数:{is_even}")练习 2:判断闰年
python
year = int(input("请输入年份:"))
# 闰年条件:能被 4 整除但不能被 100 整除,或者能被 400 整除
is_leap = (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0)
print(f"{year} 是闰年:{is_leap}")练习 3:成绩等级判断
python
score = int(input("请输入成绩:"))
is_excellent = score >= 90
is_good = score >= 80 and score < 90
is_pass = score >= 60 and score < 80
print(f"优秀:{is_excellent}")
print(f"良好:{is_good}")
print(f"及格:{is_pass}")🎯 本节要点
- 算术运算符:
+-*///%**(做数学计算) - 比较运算符:
><>=<===!=(比较大小) - 逻辑运算符:
andornot(组合条件) - 赋值运算符:
=+=-=*=等(简化赋值) - 成员运算符:
innot in(检查是否在里面) - 遇到复杂表达式,善用括号
常见问题
Q: == 和 is 有什么区别?
==比较值是否相等(盒子里装的东西一样吗?)is比较是否是同一个对象(是同一个盒子吗?)
一般用 == 就够了,is 主要用于比较 None。
Q: and 和 or 的优先级是什么?
and 的优先级比 or 高。不确定时用括号:
python
# 不清晰
result = a or b and c
# 清晰
result = a or (b and c)Q: 为什么 10 / 3 得到小数,10 // 3 得到整数?
/是普通除法,会得到小数//是整除,只要整数部分
就像分苹果,10 / 3 是每人 3.33... 个(理论上),10 // 3 是每人 3 个(实际分)。
下一步
有了运算符,我们可以进行条件判断了!