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

📚 推荐阅读

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