Python3 基本数据类型(5大)
Python3 基本数据类型
🎯 学习目标
掌握 Python 3 中的五大基本数据类型:整型(int
)、浮点型(float
)、字符串(str
)、布尔型(bool
)和空值(None
),理解其特点、使用场景及相互转换方式,为后续变量操作与函数编写打下坚实基础。
🔑 核心重点
分类 | 内容 |
---|---|
数据类型 | int , float , str , bool , None |
类型判断 | 使用 type() 或 isinstance() 函数 |
类型转换 | int() , float() , str() , bool() |
字符串格式化 | f-string(推荐)、.format() 、% 运算符 |
布尔值规则 | 非零、非空对象默认为 True |
📚 详细讲解
一、整型(int)
✅ 定义:
用于表示整数,不带小数部分。
a = 10
b = -5
c = 0
🧮 支持运算:
- 加减乘除(
+
,-
,*
,/
) - 整除(
//
) - 取余(
%
) - 幂运算(
**
)
print(2 ** 3) # 输出 8
print(7 // 2) # 输出 3
二、浮点型(float)
✅ 定义:
用于表示带有小数点的数值。
x = 3.14
y = -0.001
z = 5.0
⚠️ 浮点数计算可能有精度问题:
print(0.1 + 0.2) # 实际输出为 0.30000000000000004
建议使用 decimal
模块进行高精度计算(金融、科学计算常用)。
三、字符串(str)
✅ 定义:
使用单引号 ' '
、双引号 " "
或三引号 ''' '''
/ """ """
表示文本信息。
name = "Alice"
message = 'Hello, world!'
multi_line = """这是第一行
这是第二行"""
📌 常用操作:
1. 字符串拼接:
greeting = "Hello, " + name
2. 字符串重复:
line = "-" * 20
3. 字符串切片:
s = "Python"
print(s[0]) # P
print(s[2:5]) # tho
print(s[-1]) # n
4. 字符串格式化:
推荐使用 f-string(Python 3.6+):
age = 25
print(f"{name} 的年龄是 {age} 岁。")
其他方式:
print("姓名:%s,年龄:%d" % (name, age))
print("姓名:{0},年龄:{1}".format(name, age))
四、布尔型(bool)
✅ 定义:
表示真或假,只有两个值:True
和 False
。
flag = True
result = False
📌 布尔值判断规则:
以下值在条件判断中会被视为 False
:
False
None
- 数值
0
- 空字符串
""
- 空列表
[]
- 空字典
{}
其他所有值默认为 True
。
if "":
print("非空") # 不会执行
else:
print("为空") # 会执行
五、空值(None)
✅ 定义:
表示“无”或“空”的状态,常用于函数返回值、变量初始化等。
value = None
✅ 判断方式:
if value is None:
print("值为空")
⚠️ 注意:不要使用
== None
,应使用is None
。
六、类型查看与转换
1. 查看类型:
print(type(10)) # <class 'int'>
print(type(3.14)) # <class 'float'>
print(type("abc")) # <class 'str'>
print(type(True)) # <class 'bool'>
print(type(None)) # <class 'NoneType'>
2. 类型转换:
print(int("123")) # 字符串转整数
print(float("3.14")) # 字符串转浮点数
print(str(456)) # 数字转字符串
print(bool("")) # 空字符串转布尔为 False
print(bool("hello")) # 非空字符串转布尔为 True
⚠️ 类型转换时要注意异常处理,如字符串不是合法数字将抛出
ValueError
。
⚠️ 注意事项
- 字符串不可变,修改字符串会生成新对象。
- 类型转换需确保安全,否则程序会报错。
- 布尔值判断要避免隐式转换带来的逻辑错误。
None
是一个特殊的值,不能与其他类型混用。- 使用 f-string 格式化字符串时注意变量作用域。
🧪 实际案例分析
📌 场景:用户登录验证系统
功能要求:
- 用户输入用户名和密码
- 判断是否为空
- 模拟验证成功/失败提示
示例代码:
def login():
username = input("请输入用户名:").strip()
password = input("请输入密码:").strip()
if not username or not password:
print("用户名或密码不能为空!")
return
if username == "admin" and password == "123456":
print("登录成功!欢迎回来,{}".format(username))
else:
print("用户名或密码错误,请重试。")
login()
🧩 拓展练习(动手实践)
- 编写一个程序,接收用户输入的数字,并输出其平方。
- 输入一段英文句子,统计其中的单词数量。
- 编写一个程序,判断用户输入的年份是否为闰年(考虑类型转换和异常处理)。
- 实现一个温度转换器:从摄氏度转为华氏度(公式:℉ = ℃ × 9 ÷ 5 + 32)。
- 使用 f-string 输出以下格式的字符串:“我的名字是 Alice,今年 25 岁。”
📚 推荐阅读
- Python 官方文档 - Built-in Types
- 《流畅的 Python》第 2 章 - 数据结构
- Python 编程从入门到实践 - 第 2 章
- 菜鸟教程 - Python 数据类型
- 廖雪峰 Python 教程 - 数据类型
🧭 下一步建议
- 下一章学习内容:《Python 容器类型:列表、元组、集合、字典》
- 深入理解不同类型的数据存储结构
- 在 PyCharm 中调试类型转换过程中的异常
- 尝试使用
input()
和print()
构建交互式命令行应用 - 开始学习函数定义与封装,提高代码复用性
如果你希望我为你提供:
- Python 基本数据类型思维导图 PDF
- 更多实际项目练习题(如计算器、简易数据库模拟等)
- 类型转换异常处理进阶技巧
- f-string 高级用法详解
- 视频教学资源推荐
欢迎随时告诉我 😊