上期我们聊了Python的数据类型,后台收到了好多小伙伴的留言:
“字符串能相乘?真的假的?”
“** 是两个乘号?不是写错了吧?”
“// 是什么奇怪符号?”
今天就专门来聊聊 Python中的数据运算 —— 这可不是简单的1+1=2,Python的运算能力,能让你的代码效率翻倍!
一、算术运算(最基础,但暗藏玄机)
基本运算符,数学当中的四则运算,大家都应该比较清楚,在四则运算的基础上,再加上求余、求模、幂运算。
⚠️ 重点区分:/ vs // vs %
python
# 普通除法 → 永远是浮点数print(10/3)# 3.3333333333333335print(10/2)# 5.0 (注意是浮点数,不是整数5)# 整除 → 只保留整数部分(向下取整)print(10//3)# 3print(10//2)# 5print(-10//3)# -4 (向下取整,注意!)# 取余 → 返回余数print(10%3)# 1print(10%5)# 0💡
小技巧:判断奇偶数用 % 2,余0是偶数,余1是奇数。
二、比较运算(得到布尔值)
用来比较两个数据,结果永远是 True 或 False。
🔥 常见坑点:= 和 == 别搞混
# = 是赋值x =10# == 是比较if x ==10: print("相等")
初学者最常犯的错误:if x = 10: → 直接报错!
三、逻辑运算(组合条件)
age =20score =85# and:两个条件都要满足if age >=18and score >=60: print("成年且及格")# or:满足一个就行if age <18or score <60: print("未成年或不及格")# not:取反ifnot is_rainy: print("没下雨,出门吧")
🚀 短路逻辑(性能优化技巧)
# 如果第一个条件为False,后面的就不执行了# 这叫“短路运算”False and print("不会执行")# print不运行True or print("也不会执行")# print不运行
四、特殊运算法则(Python独有)
1️⃣ 字符串的“加法”和“乘法”
# 加法 = 拼接"Hello"+" "+"World"# Hello World# 乘法 = 重复"哈"*3 # 哈哈哈"-"*20 # 二十个减号(做分隔线神器)
2️⃣ 列表的“加法”和“乘法”
# 列表拼接[1,2]+[3,4]# [1, 2, 3, 4]# 列表重复[0]*5# [0, 0, 0, 0, 0]
3️⃣ 复合赋值运算符(偷懒必备)
x =10x +=5# 等价于 x = x + 5x -=3# 等价于 x = x - 3x *=2# 等价于 x = x * 2x /=4# 等价于 x = x / 4x //=2# 等价于 x = x // 2x %=3# 等价于 x = x % 3x **=2# 等价于 x = x ** 2
💡 写代码时用
+= 这类写法,更简洁,也更专业。
五、运算符优先级(先算谁后算谁)
还记得小学数学的“先乘除后加减”吗?Python也有自己的规则。
从高到低排序:
() 括号 → 最高优先级
** 幂运算
+x-x 正负号
*///% 乘除类
+- 加减法
==!=<> 比较运算符
not → and → or 逻辑运算符(最弱)
# 示例result =2+3*4**2# 先算 4**2=16# 再算 3*16=48# 最后 2+48=50# 用括号改变顺序result =(2+3)*4**2# 先算 2+3=5# 再算 4**2=16# 最后 5*16=80
⚠️
记不住优先级不要紧,多用括号! 括号既保正确,又让代码更易读。
六、实用小案例
案例1:判断闰年
year =2024is_leap =(year %4==0and year %100!=0)or(year %400==0)print(is_leap)# True
案例2:计算BMI
weight =70# kgheight =1.75# mbmi = weight /(height **2)print(f"BMI: {bmi:.1f}")# BMI: 22.9
案例3:制作进度条效果
percent =75bar ="█"*(percent //10)+"░"*(10- percent //10)print(f"[{bar}] {percent}%")# [███████░░░] 75%
七、速查记忆卡
写在最后
Python的运算符就像是你的代码计算器工具箱。
算术运算管数学
比较运算管判断
逻辑运算管组合
特殊运算管字符串/列表
把这篇文章收藏起来,写代码时遇到不确定的,翻出来看一看。
📌 如果觉得有用,点赞+在看+转发 给正在学Python的小伙伴!
代码要跑,基础要牢。我们下期见! 👋