第一阶段:基础语法
## 第二课:变量与数据类型
程序本质上是在处理数据。这节课学习如何用变量存储数据,以及Python中最常用的几种数据类型。
一、理论知识
### 1.1 什么是变量?
变量就像一个贴了标签的盒子,用来存储数据。给变量赋值就是往盒子里放东西。
name = "小明" # 把字符串"小明"放入名为name的变量
age = 18 # 把整数18放入名为age的变量
height = 1.75 # 把浮点数1.75放入名为height的变量
### 1.2 Python的变量特点
- 动态类型:不需要提前声明类型,赋值时自动推断
- 强类型:一旦确定类型,不会自动转换(字符串不能直接和整数相加)
- 命名规则:只能包含字母、数字、下划线;不能以数字开头;区分大小写
### 1.3 五大基本数据类型
| 类型 | 关键字 | 示例 | 用途 |
|---|---|---|---|
| 整数 | int |
42, -7, 0 |
计数、索引 |
| 浮点数 | float |
3.14, -0.001 |
带小数的数值 |
| 字符串 | str |
"hello" |
文本内容 |
| 布尔值 | bool |
True, False |
真假判断 |
| 空值 | NoneType |
None |
表示"没有值" |
### 1.4 查看数据类型
print(type(42)) # <class 'int'
print(type("hello")) # <class 'str'
print(type(3.14)) # <class 'float'
print(type(True)) # <class 'bool'
### 1.5 类型转换
``` # 转换为整数 int("42") # 42 int(3.9) # 3(截断小数,不是四舍五入)
# 转换为浮点数 float(42) # 42.0
# 转换为字符串 str(42) # "42"
# 转换为布尔值 bool(0) # False bool(1) # True bool("") # False(空字符串为False) bool("hi") # True ```
⚠️ 常见错误
int("hello") 会报错!因为"hello"无法转换为整数。只有数字字符串才能转。
## 二、实操演示
### 2.1 变量交换
``` # 交换两个变量的值 a = 10 b = 20 print("交换前:", a, b) # 交换前: 10 20
a, b = b, a print("交换后:", a, b) # 交换后: 20 10 ```
### 2.2 字符串拼接与格式化
``` name = "小明" age = 18
# f-string(推荐) print(f"我叫{name},今年{age}岁") # 输出: 我叫小明,今年18岁
# 也可以用 + 拼接(需要类型转换) print("我叫" + name + ",今年" + str(age) + "岁") ```
### 2.3 字符串的基本操作
text = "Hello, Python!"
print(len(text)) # 14(字符串长度)
print(text.upper()) # HELLO, PYTHON!
print(text.lower()) # hello, python!
print(text.split(",")) # ['Hello', ' Python!']
print(text[0]) # H(索引从0开始)
print(text[7:13]) # Pytho(切片)
## 三、动手练习
练习 2.1:温度转换器 简单
摄氏温度转华氏温度的公式:华氏 = 摄氏 × 9/5 + 32
编写一个脚本 temp_converter.py:
- 定义一个变量
celsius,赋值为 36.5 - 计算对应的华氏温度
- 用 f-string 输出:
"36.5摄氏度 = XX.X华氏度"
练习 2.2:购物清单 简单
模拟一个简单的购物计算:
- 定义商品单价:
price = 25.5 - 定义购买数量:
quantity = 3 - 计算总价
total = price * quantity - 输出:
"购买3件商品,单价25.5元,总计XX.X元"
练习 2.3:信息卡片 中等
创建变量存储个人信息,然后输出一张格式化的信息卡:
``` name = "张三" age = 20 city = "北京" gpa = 3.85
# 输出格式如下: # ╔══════════════════╗ # ║ 个 人 信 息 ║ # ╠══════════════════╣ # ║ 姓名:张三 ║ # ║ 年龄:20岁 ║ # ║ 城市:北京 ║ # ║ 绩点:3.85 ║ # ╚══════════════════╝ ```
练习 2.4:字符串侦探 中等
给定字符串 s = "Python is awesome",在交互模式中尝试:
- 获取字符串长度
- 提取第一个单词 "Python"
- 提取最后一个单词 "awesome"
- 将所有字母转为大写
- 将空格替换为连字符
-
提示:查阅 术语表 中的字符串方法。
## 四、本课要点
- 变量是存储数据的容器,赋值即用
= - 五种基本类型:int、float、str、bool、None
- 用
type()查看数据类型 - 用
int()、float()、str()、bool()进行类型转换 - f-string 是格式化字符串的最佳方式:
f"值={variable}" - 字符串索引从0开始,支持切片
s[start:end]
📚 推荐阅读
Python官方教程 - 速览 — 官方文档中的快速入门章节。
💡 学习建议
在交互模式中多尝试类型转换,看看哪些能成功、哪些会报错。理解"什么能转、什么不能转"比死记硬背更重要。
Hello Python — 你的第一个Python程序 Dify 是什么 →