Skip to content

Python 数据类型

Python 的核心数据类型:数字、字符串、布尔、列表、元组、字典与集合。

你将学到

  • 核心数字类型:int 和 float
  • 字符串及其最常用的操作
  • 布尔值与真值/假值
  • 容器:list、tuple、dict 和 set
  • 可变 vs 不可变类型及其重要性

概念讲解

数字类型

Python 有两种主要数字类型:

  • int——任意精度整数(不会溢出!)
  • float——浮点数(IEEE 754 双精度)
count = 42          # int
price = 19.99       # float
big = 10 ** 100     # int——Python 原生处理任意大整数

字符串

字符串是文本,用单引号、双引号或三引号包围:

name = "Ada"
greeting = 'Hello'
multi = """这是
多行字符串"""

# F-string(Python 3.6+)——最佳格式化方式
message = f"Hello, {name}!"

字符串有有用的方法:.upper().lower().strip().split().replace().startswith()

布尔值

is_active = True
is_deleted = False

假值:False00.0""[]{}None。其余都是真值。

容器

list——有序、可变

fruits = ["apple", "banana", "cherry"]
fruits.append("date")
fruits[0] = "apricot"  # 可变

tuple——有序、不可变

point = (10, 20)
# point[0] = 5  # TypeError——元组不能改

dict——键值对

user = {"name": "Ada", "age": 25}
user["email"] = "[email protected]"  # 添加键
print(user["name"])

set——无序、元素唯一

tags = {"python", "code", "learn"}
tags.add("fun")
tags.add("python")  # 无效——已存在

可变 vs 不可变

这是关键区别:

  • 不可变——intfloatstrtuplebool。一旦创建,值不可变。"改变"字符串会创建新字符串。
  • 可变——listdictset。可以就地修改。
# 字符串不可变
s = "hello"
s += " world"  # 创建新字符串,s 现在指向它

# 列表可变
nums = [1, 2, 3]
nums.append(4)  # 修改同一个列表

检查类型

type(x)              # 返回类型
isinstance(x, int)   # x 是 int(或子类)时为 True

isinstance() 做类型检查——它处理继承,而 type() 不会。

示例代码

              # 数字
count = 42
price = 19.99
big = 10 ** 50  # Python 原生处理大整数
print(f"Count: {count}, Price: {price}, Big: {big}")

# 字符串和 f-string
name = "Ada"
print(f"Hello, {name}!")
print(name.upper())        # ADA
print(name.replace("A", "E"))  # Eda

# 列表——有序且可变
fruits = ["apple", "banana", "cherry"]
fruits.append("date")
print(fruits)
print(fruits[0])     # apple
print(fruits[-1])    # date(负索引)

# 字典——键值对
user = {"name": "Ada", "age": 25, "role": "admin"}
print(user["name"])
for key, value in user.items():
    print(f"  {key}: {value}")

# 元组——不可变
point = (10, 20)
x, y = point  # 解包
print(f"Point: ({x}, {y})")

# 集合——元素唯一
tags = {"python", "code", "python"}  # 去重
print(tags)  # {'python', 'code'}

# 类型检查
print(type(count))            # <class 'int'>
print(isinstance(name, str))  # True
            

演示了数字、f-string、列表操作、字典遍历、元组解包、集合去重和类型检查。这些是你每天都会用的类型。

动手试一试

  • JSON Formatter

    Python 字典和列表直接映射到 JSON——格式化并检查它们。

  • CSV to JSON

    把 CSV 转成 Python 风格的字典——常见的数据任务。

常见错误

错误写法

用列表做函数的默认参数

正确做法

默认参数在定义时求值一次,不是每次调用。def f(x=[]): x.append(1) 会跨调用累积。改用 def f(x=None): x = x or []。

错误写法

期望元组像列表一样可变

正确做法

元组不可变——不能 append、remove 或重新赋值元素。需要修改序列就用列表。元组用于固定集合,如坐标。

相关代码片段

相关速查表

练习 Python 数据类型

1 个练习

练习 Python 数据类型

查阅不认识的术语

新手友好的术语表用大白话解释编程术语——变量、函数、DOM、Promise 等等。

查看术语表

动手做项目

通过引导式项目应用所学,含起始代码与解决方案。

查看项目

解读错误信息

用大白话解释常见错误——什么意思、为什么发生、如何修复。

查看错误