Python五大基础数据类型完整版讲义
(分类精讲 + 类型搭配教程 + 复杂任务实战 + 20道练习题)
通用基础(所有类型共用)
口诀:赋值存数据,查型用type
1. 基础说明
变量名 = 数据 是Python赋值格式, = 为赋值符号;
print() 打印内容, type() 查看数据类型。
2. 适用场景:定义、查看、输出所有数据
3. 标准语法
python
变量名 = 数据
print(变量名)
print(type(变量名))
4. 代码演示
python
demo = 66
print(demo)
print(type(demo))
5. 运行结果
plaintext
66
<class 'int'>
6. 易错点
- 变量名不能以数字开头,不能使用中文标点。
类型一:整数 int
口诀:无点纯数字,便是整数型
1. 基础说明
不含小数点的数字,包含正数、负数、0,Python整数无数值大小限制。
2. 适用场景:记录年龄、人数、数量、编号、年份等完整数值
3. 标准语法
python
变量名 = 整数数字
4. 代码演示
python
age = 25 # 正整数
score = -8 # 负整数
num_zero = 0 # 数字0
print(age, score, num_zero)
print(type(age))
5. 运行结果
plaintext
25 -8 0
<class 'int'>
6. 易错点
- 数字不能带小数点, 10.0 属于浮点数,不是整数;
- 数字无需添加引号、括号等额外符号。
类型二:浮点数 float
口诀:数字带小数点,归类为浮点
1. 基础说明
包含英文小数点的数字,支持正数、负数;整数与浮点数运算,结果自动转为浮点数。
2. 适用场景:记录身高、体重、商品价格、温度、小数成绩
3. 标准语法
python
变量名 = 整数部分.小数部分
4. 代码演示
python
height = 1.72
price = 49.9
tem = -3.5
print(height, price, tem)
print(type(height))
print(3 + 1.5) # 整数+浮点数混合运算
print(0.1 + 0.2) # 二进制精度误差示例
5. 运行结果
plaintext
1.72 49.9 -3.5
<class 'float'>
4.5
0.30000000000000004
6. 易错点
- 只要带小数点,哪怕 5.0 也属于浮点数;
- 0.1+0.2 结果不等于0.3是正常现象,无需修改代码。
类型三:字符串 str
口诀:文本加引号,生成字符串
1. 基础说明
被英文引号包裹的内容统称为字符串,支持拼接、重复操作,无法和数字直接运算。
2. 适用场景:存储姓名、文字、句子、符号、文本类数字
3. 标准语法
python
# 单行文本(单/双引号通用)
变量名 = '内容'
变量名 = "内容"
# 多行文本(三引号)
变量名 = '''多行内容'''
# 拼接、重复
字符串1 + 字符串2 # 拼接
字符串 * 数字 # 重复
4. 代码演示
python
name = '李四'
words = "学习编程"
article = '''第一行文字
第二行文字'''
print(name)
print(article)
print(name + words) # 拼接
print("加油" * 3) # 重复
5. 运行结果
plaintext
李四
第一行文字
第二行文字
李四学习编程
加油加油加油
6. 易错点
- 引号必须成对出现,缺失引号直接报错;
- 字符串和数字不能直接做加减运算;
- 文本内包含引号时,内外交替使用单、双引号。
类型四:布尔值 bool
口诀:布尔分真假,首字母大写
1. 基础说明
仅有两个固定值: True (真/条件成立)、 False (假/条件不成立),用于逻辑判断。
2. 适用场景:条件判断、状态标记、对错校验、开关逻辑
3. 标准语法
python
变量名 = True
变量名 = False
4. 代码演示
python
is_study = True
is_rest = False
print(is_study, is_rest)
print(type(is_study))
# 条件判断用法
if 15 > 6:
print("条件成立")
5. 运行结果
plaintext
True False
<class 'bool'>
条件成立
6. 易错点
- 首字母必须大写,小写 true / false 会语法报错;
- 主要用于判断,不参与常规数学计算。
类型五:空值 None
口诀:空值写None,不等零与空
1. 基础说明
None 代表彻底为空、无任何数据,和数字0、空字符串属于完全不同的类型。
2. 适用场景:数据暂未填写、预留字段、标记内容为空
3. 标准语法
python
变量名 = None
4. 代码演示
python
info = None
print(info)
print(type(info))
# 区分三种易混淆的“空”
num_0 = 0
empty_str = ""
empty_data = None
print(num_0 == empty_str)
print(empty_str == empty_data)
5. 运行结果
plaintext
None
<class 'NoneType'>
False
False
6. 易错点
- None 首字母大写,不能小写、不能加引号;
- 牢记: None ≠ 0 ≠ 空字符串"" 。
通用规则(全类型必守)
口诀:标点用英文,大小写分清
1. 基础说明
代码中所有逗号、引号、括号、小数点,必须使用英文符号;Python严格区分字母大小写。
2. 易错点
- 中文标点会直接触发代码报错;
- True 、 None 等关键字大小写固定,不可随意修改。
拓展:类型转换
口诀:数字转文本,拼接不出错
1. 基础说明
字符串和数字无法直接拼接,使用 str() 可以将数字转为字符串。
2. 适用场景:数字+文字组合展示
3. 标准语法
python
str(数字)
4. 代码演示
python
num = 99
new_text = str(num) + "分"
print(new_text)
5. 运行结果
plaintext
99分
6. 易错点
- 仅在拼接文本时使用,数学运算无需转换。
一、五大类型互相搭配使用完整教程
搭配1:int + float(数值混合运算)
搭配规则
整数、浮点数可以直接加减乘除混合计算,运算后统一升级为浮点数。
实战代码
python
# int整数
count = 10
# float浮点数
price = 2.5
# 混合运算
total = count * price
print("总价:", total)
print(type(total))
输出:
plaintext
总价: 25.0
<class 'float'>
使用场景
计算商品总价、体重求和、平均分计算等需要小数结果的数学计算。
搭配2:int/float + str(数字+文字展示)
搭配规则
数字不能直接和字符串拼接,先用 str() 把数字转为字符串,再用 + 拼接文字。
实战代码
python
age = 19
height = 1.73
name = "小明"
# 类型转换后拼接文字
msg = "姓名:" + name + ",年龄:" + str(age) + ",身高:" + str(height)
print(msg)
输出:
plaintext
姓名:小明,年龄:19,身高:1.73
使用场景
打印个人信息、订单详情、成绩播报、日志文字输出。
搭配3:int/float + bool(数值对比产生布尔值)
搭配规则
用大于、小于、等于符号对比数字,会自动生成 True/False 布尔值,用于判断。
实战代码
python
score = 75
pass_line = 60
# 对比数字,产出布尔结果
is_pass = score >= pass_line
print("是否及格:", is_pass)
# 布尔值配合if判断执行逻辑
if is_pass:
print("考试通过")
else:
print("考试未通过")
输出:
plaintext
是否及格: True
考试通过
使用场景:成绩判断、库存校验、金额大小判断、年龄限制。
搭配4:str + bool(文本条件判断)
搭配规则
字符串对比相等/不等,生成布尔值,用于文本筛选。
实战代码
python
username = "admin"
input_name = "admin"
is_admin = username == input_name
if is_admin:
print("欢迎管理员登录")
输出:
plaintext
欢迎管理员登录
搭配5:None 配合其余四种类型(空数据判断)
搭配规则
None代表数据缺失,搭配if判断区分“有数据”和“无数据”。
实战代码
python
# 预留手机号,暂时无数据
phone = None
name = "小红"
age = 20
# 判断是否为空
if phone is None:
print("用户【" + name + "】暂未填写手机号,年龄:" + str(age))
else:
print("手机号:" + phone)
输出:
plaintext
用户【小红】暂未填写手机号,年龄:20
使用场景:用户信息缺省、订单未填写地址、数据待录入。
搭配6:五种类型全套组合(基础综合搭配模板)
python
# int
stu_id = 1001
# float
score_avg = 92.5
# str
stu_name = "小张"
# bool
is_finish = True
# None
remark = None
# 整合输出全部信息
info = "学号:" + str(stu_id) + ",姓名:" + stu_name + ",平均分:" + str(score_avg)
print(info)
# 判断状态
if is_finish:
print("该生已完成全部课程")
# 判断空备注
if remark is None:
print("暂无评语")
二、复杂任务中多类型协同使用方法
核心思路(复杂任务通用流程)
1. 拆分任务:把需求拆成「数字计算、文字展示、条件判断、空值兜底」四部分;
2. 分配类型:计数用int,小数金额用float,文字描述用str,开关判断用bool,缺失数据用None;
3. 类型转换:计算只留数字,展示文字统一转str;
4. 布尔做分支:用if区分不同业务情况;
5. None兜底:防止变量为空引发报错。
复杂实战任务1:学生成绩统计系统(多类型联动)
需求
录入学生姓名、学号、两门分数,计算平均分,判断是否及格,无评语提示暂无评价。
python
# 1.定义多类型数据
stu_no = 202605 # int 学号
name = "李华" # str 姓名
math = 88.5 # float 数学分
english = 76 # int 英语分
has_prize = True # bool 是否获奖
comment = None # None 评语为空
# 2.数值运算 int+float自动变浮点
average = (math + english) / 2
# 3.数字转字符串,拼接完整文本
base_info = "学号" + str(stu_no) + " " + name + " 平均分:" + str(average)
print(base_info)
# 4.布尔值做条件判断
if average >= 60:
print("成绩状态:及格")
else:
print("成绩状态:不及格")
if has_prize:
print("该同学获得奖项")
# 5.空值判断兜底
if comment is None:
print("老师暂无评语")
输出结果:
plaintext
学号202605 李华 平均分:82.25
成绩状态:及格
该同学获得奖项
老师暂无评语
复杂实战任务2:电商订单简易计算
需求
商品名称、单价、购买数量,计算总价,判断是否满减,无备注提示空白。
python
goods = "T恤"
price = 59.9
num = 3
full_cut = True
note = None
total = price * num
text = "商品:" + goods + ",购买" + str(num) + "件,合计:" + str(total) + "元"
print(text)
if full_cut and total >= 100:
print("满足满减条件,可减免20元")
else:
print("不满足满减")
if note is None:
print("订单无备注信息")
复杂任务避坑准则
1. 数学运算只使用int、float,不要混入字符串;
2. 只要打印文字信息,数字必须用str()转换;
3. 判断相等、大小全部产出布尔值,交给if分支;
4. 不确定变量是否有值,先用 变量 is None 判断;
5. 不要混用0、空字符串、None三者做空值判断。
配套20道练习题(分基础、判断、代码实操,附答案)
一、基础填空题(5题)
1. 无小数点数字的数据类型是____。
2. 带英文小数点的数字类型是____。
3. 被英文引号包裹的数据类型是____。
4. 布尔值仅有两个取值:、。
5. 代表完全无数据的空值写作____。
二、对错判断题(5题,对√ 错×)
6. 15.0 属于整数int类型。()
7. "88" + 10 代码可以正常运行。()
8. True、None 首字母必须大写。()
9. 0、""、None 三者互相相等。()
10. 整数和浮点数相加,结果为浮点数。()
三、手写代码实操题(10题,包含多类型搭配)
11. 定义变量year存储整数2026,打印变量并打印它的类型。
12. 定义变量price存储浮点数19.9,打印变量类型。
13. 用双引号定义字符串name="小明",打印输出。
14. 定义布尔变量flag=False,打印flag。
15. 定义空值变量msg=None,打印msg和它的类型。
16. 拼接两段字符串:"我爱"+"Python",打印拼接结果。
17. 将字符串"努力"重复4次并打印。
18. 定义整数a=9、浮点数b=1.2,计算a+b并打印结果。
19. 使用str()转换数字666,拼接文字"号学员"后打印。
20. 综合任务:定义5种数据,计算年龄+身高,拼接个人信息并判断是否成年(age>=18),备注设为None并做空判断。
习题参考答案
填空
1. int(整数)
2. float(浮点数)
3. str(字符串)
4. True、False
5. None
判断
6. ×
7. ×
8. √
9. ×
10. √
实操代码答案
python
year = 2026
print(year)
print(type(year))
python
price = 19.9
print(type(price))
python
name = "小明"
print(name)
python
flag = False
print(flag)
python
msg = None
print(msg)
print(type(msg))
python
res = "我爱" + "Python"
print(res)
python
print("努力" * 4)
python
a = 9
b = 1.2
print(a + b)
python
num = 666
text = str(num) + "号学员"
print(text)
python
age = 20
height = 1.75
name = "小白"
is_adult = age >= 18
remark = None
# 数值计算
info_text = "姓名:" + name + ",年龄:" + str(age) + ",身高:" + str(height)
print(info_text)
# 布尔判断
if is_adult:
print("已成年")
else:
print("未成年")
# 空值判断
if remark is None:
print("暂无备注")