当前位置:首页>python>Python基础数据类型

Python基础数据类型

  • 2026-10-11 07:14:56
Python基础数据类型

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("暂无备注")

最新文章

随机文章