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)

✅ 定义:

表示真或假,只有两个值:TrueFalse

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()

🧩 拓展练习(动手实践)

  1. 编写一个程序,接收用户输入的数字,并输出其平方。
  2. 输入一段英文句子,统计其中的单词数量。
  3. 编写一个程序,判断用户输入的年份是否为闰年(考虑类型转换和异常处理)。
  4. 实现一个温度转换器:从摄氏度转为华氏度(公式:℉ = ℃ × 9 ÷ 5 + 32)。
  5. 使用 f-string 输出以下格式的字符串:“我的名字是 Alice,今年 25 岁。”

📚 推荐阅读


🧭 下一步建议

  • 下一章学习内容:《Python 容器类型:列表、元组、集合、字典》
  • 深入理解不同类型的数据存储结构
  • 在 PyCharm 中调试类型转换过程中的异常
  • 尝试使用 input()print() 构建交互式命令行应用
  • 开始学习函数定义与封装,提高代码复用性

如果你希望我为你提供:

  • Python 基本数据类型思维导图 PDF
  • 更多实际项目练习题(如计算器、简易数据库模拟等)
  • 类型转换异常处理进阶技巧
  • f-string 高级用法详解
  • 视频教学资源推荐

欢迎随时告诉我 😊

posted @ 2025-05-27 23:47  红尘过客2022  阅读(53)  评论(0)    收藏  举报