本节掌握int/float运算、全部数学运算符、复合赋值、自动/强制类型转换。
# ====================== 知识点1:两大数值类型 int 整数 / float 浮点数 ======================
# int:整数,正负无小数点
num1 = 66
num2 = -20
print("num1类型:", type(num1), "数值:", num1)
print("num2类型:", type(num2), "数值:", num2)
# float:浮点数,带小数
num3 = 3.14
num4 = -0.618
print("num3类型:", type(num3), "数值:", num3)
# 特殊浮点数写法
num5 = 5.0# 带小数点,依然是float,不是int
num6 = 1e3# 科学计数法 1*10^3 = 1000.0
print("1e3结果:", num6, type(num6))
# ====================== 知识点2:算术运算符(加减乘除、取余、整除、幂运算) ======================
a = 10
b = 3
# 1. 加法 +
res_add = a + b
print(f"{a} + {b} = {res_add}")
# 2. 减法 -
res_sub = a - b
print(f"{a} - {b} = {res_sub}")
# 3. 乘法 *
res_mul = a * b
print(f"{a} * {b} = {res_mul}")
# 4. 除法 / 结果永远是浮点数
res_div = a / b
print(f"{a} / {b} = {res_div}, 类型:{type(res_div)}")
# 5. 整除 // 向下取整,舍弃小数部分
res_floor = a // b
print(f"{a} // {b} = {res_floor}")
# 负数整除容易踩坑:向下取整
print("-10 // 3 =", -10 // 3)
# 6. 取余 % 求除法余数
res_mod = a % b
print(f"{a} % {b} = {res_mod}")
# 取余常用场景:判断奇偶 num % 2 == 0 偶数
print("10是偶数?", 10 % 2 == 0)
# 7. 幂运算 ** 次方
res_pow = a ** b # 10的3次方
print(f"{a} ** {b} = {res_pow}")
# 8. 取负 -x
print("-a =", -a)
# ====================== 知识点3:赋值运算符与复合赋值 ======================
# 基础赋值 =
score = 60
# 复合赋值:简化变量自身运算
score += 10# 等价于 score = score + 10
print("score +=10:", score)
score -= 5# score = score -5
print("score -=5:", score)
score *= 2
print("score *=2:", score)
score /= 3
print("score /=3:", score)
score //= 2
print("score //=2:", score)
score %= 4
print("score %=4:", score)
score **= 2
print("score **=2:", score)
# ====================== 知识点4:自动类型转换(隐式转换) ======================
# int 和 float 运算,int自动升级为float,结果一定float
x = 5
y = 2.5
res = x + y
print("自动转换结果:", res, "类型:", type(res))
# ====================== 知识点5:强制类型转换(显式转换)int() float() str() ======================
# 1. str → int:字符串必须是纯数字,否则报错
str_num = "99"
int_num = int(str_num)
print("字符串转整数:", int_num, type(int_num))
# 报错示例:文字不能转数字 int("abc")
# 2. str → float
str_float = "3.1415"
f_num = float(str_float)
print("字符串转浮点数:", f_num)
# 3. int → float
i2f = float(66)
print("int转float:", i2f)
# 4. float → int:直接砍掉小数,不四舍五入
f2i = int(9.99)
print("float转int:", f2i)
# 5. 数字 → str:拼接字符串必备
age = 18
info = "我的年龄是" + str(age)
print(info)
# ====================== 知识点6:运算优先级 ======================
# 优先级:括号() > 幂** > 正负号 > * / // % > + -
calc = 2 + 3 * 4
print("2 + 3 * 4 =", calc) # 先乘后加
calc2 = (2 + 3) * 4
print("(2 + 3) * 4 =", calc2) # 括号优先
本节总结
1. 数值类型区分
float:带小数,包含科学计数法,两个数字相除/一定返回float。
2. 重点运算符易错点
/ 普通除法永远浮点数;// 整除向下取整,负数计算结果和直觉不同;
3. 复合赋值运算符
变量 op= 值 等价于 变量 = 变量 op 值,代码更简洁,开发高频使用。
4. 类型转换两大分类
- 隐式转换(自动):int与float混合运算自动转float,无需手动写代码;
- 显式转换(强制):
int()/float()/str()手动转换,输入数字计算、字符串拼接必须用到。
5. 运算优先级口诀
括号最先算,次方紧随其后,乘除取余次之,加减最后算。
第3节课后练习
- 用户输入两个数字,计算加减乘除、整除、余数、次方并全部打印;
- 定义变量money=100,依次完成+20、-15、*2、/5,每一步打印数值;
- 计算
3 + 5 ** 2 // (4 - 1) 手算后用代码验证结果。