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()转换类型

← 返回资讯