Python基础 | 变量与数据类型

为什么学变量?它是编程的「积木基石」
想象你是奶茶店老板:
- 不用盒子:每次都说「给我加 3 勺珍珠、2 份椰果」(重复劳动,容易错)
- 用盒子:
珍珠 = 3勺椰果 = 2份,随时喊「按 A 套餐做!」(高效又准确)
变量的本质:
给数据起名字,方便重复使用。Python 的变量就像透明盒子,贴着标签,随时查看里面的东西。
认识「万能收纳盒」:变量的基本操作
👉 场景:给暗恋的人写个性化情书
输入代码:
# 第1步:把信息装进盒子
名字 = "小明" # 文字盒子(字符串)
年龄 = 18 # 数字盒子(整数)
好感度 = 95.5 # 带小数点的数字(浮点数)
是否单身 = True # 真假盒子(布尔值)
# 第2步:用盒子拼出情书
print(f"{名字},听说你今年{年龄}岁?")
print(f"我发现我们的默契度有{好感度}%!")
if 是否单身:
print("周末要不要一起去看《情书》重映?")
else:
print("那...下次组队打羽毛球也行!")
代码拆解:
=是「装进盒子」的动作(不是数学等于!)f""是「格式化字符串」,让盒子里的内容钻进大括号
不同盒子装不同东西:3 大核心数据类型
文字盒子(字符串,str)
- 用途:装姓名、地址、句子
- 特点:必须用引号包裹(单引号
''/ 双引号""都行,但是不能混用) - 操作:
奶茶 = "芋泥波波"
小料 = "青稞, 脆啵啵"
print(奶茶 + "加" + 小料) # 输出:芋泥波波加青稞, 脆啵啵
数字盒子(整数 int / 浮点数 float)
- 整数:不带小数点(年龄、数量)
珍珠数量 = 15 # 15颗珍珠
总价 = 18 * 2 # 买2杯,每杯18元 → 36
- 浮点数:带小数点(价格、分数)
折扣 = 0.9 # 九折
实付 = 18 * 折扣 → 16.2元
真假盒子(布尔值,bool)
- 用途:判断条件(是否下雨、是否达标)
- 只有两个值:
True(是) /False(否) - 案例:
下雨 = False
if 下雨:
print("取消晨跑,改在家跳本草纲目")
else:
print("出发!目标5公里")
盒子的「变身魔法」:类型转换
👉 场景:计算奶茶店一天的收入
# 输入:今天卖了35杯,每杯18.5元
杯数 = "35" # 从Excel复制过来的文字(字符串)
单价 = 18.5 # 浮点数
# 错误示范:文字不能直接乘数字
# 总价 = 杯数 * 单价 → 报错!TypeError: can't multiply sequence by non-int of type 'float'
# 正确操作:把文字盒子转成数字
总价 = int(杯数) * 单价 # int()把字符串转整数
print(f"今天收入:{总价}元") # 输出:647.5元
| 想转成的类型 | 函数 | 例子 |
|---|---|---|
| 整数 | int(盒子) |
int("18") → 18 |
| 浮点数 | float(盒子) |
float("18.5") → 18.5 |
| 文字 | str(盒子) |
str(18) → "18" |
盒子的「3 大禁忌」
盒子不能同名
奶茶 = "珍珠奶茶"
奶茶 = "芋泥奶茶" # 允许:后面的盒子会覆盖前面的
# 但!不要用「拼音+数字」的混乱命名(如naicha1、naicha2)
先装东西再使用
# 错误!用了没装东西的盒子
print(暗恋对象) → 报错:NameError: name '暗恋对象' is not defined
盒子类型要匹配
年龄 = "18岁" # 文字盒子
# 错误!文字不能减数字
出生年份 = 2025 - 年龄 → 报错:TypeError: unsupported operand type(s) for -: 'int' and 'str'
避坑口诀:先定义,后使用;类型错,转一转
实战:用盒子做「职场摸鱼计算器」
场景:每天工作 8 小时,想知道还剩多久下班
# 第1步:装进已知信息
上班时间 = 9 # 整数(小时)
现在 = 14.5 # 浮点数(下午2:30)
每小时摸鱼 = 15 # 每分钟摸鱼次数
# 第2步:计算剩余时间(小时→分钟)
剩余小时 = 17 - 现在 # 17点下班
剩余分钟 = 剩余小时 * 60
总摸鱼次数 = 剩余分钟 * 每小时摸鱼
# 第3步:输出摸鱼报告
print(f"⏰ 还剩{剩余小时:.1f}小时({int(剩余分钟)}分钟)")
print(f"🐟 可以摸鱼{总摸鱼次数}次,冲!")
运行效果:
⏰ 还剩2.5小时(150分钟)
🐟 可以摸鱼2250次,冲!
(💡 小技巧:{剩余小时:.1f} 让小数保留 1 位)
写给小白的「盒子哲学」
- 变量是偷懒神器:重复使用的信息,一定要装进盒子
- 名字要见名知意:用
奶茶温度而不是w,用折扣率而不是zl - 把代码当故事写:
等待时间 = 30比t=30更容易看懂
本周挑战:用变量改造你的微信签名!
比如:爱好 = "拆电脑"偶像 = "马斯克"
输出:一个爱好{爱好}的{偶像}粉丝路过~
总结:你已经掌握的「盒子魔法」
✅ 用名字 = 内容把数据装进盒子
✅ 3 种盒子类型:文字(str)、数字(int/float)、真假(bool)
✅ 用int()/float()/str()转换盒子类型
✅ 避免盒子同名、空盒子、类型 mismatch
报错急救箱:
如果遇到NameError(名字错误)→ 检查变量名是否拼写正确
如果遇到TypeError(类型错误)→ 加str()或int()转换类型