Python 变量和数据类型
概述
变量和数据类型是编程的基础概念。在 Python 中,变量用于存储数据,而数据类型决定了变量可以存储的数据种类以及可以对这些数据执行的操作。
数据类型分类
# 基本数据类型:数字、字符串、布尔值、None
# 复合数据类型:列表、元组、字典、集合
代码示例
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
演示 Python 中的变量和数据类型
"""
# 1. 数字类型 (Numbers)
print("=== 数字类型 ===")
age = 25
print(f"整数示例 - 年龄:{age} (类型:{type(age)})")
height = 175.5
print(f"浮点数示例 - 身高:{height}cm (类型:{type(height)})")
complex_num = 3 + 4j
print(f"复数示例:{complex_num} (类型:{type(complex_num)})")
is_student = True
is_employed = False
print(f"布尔值示例 - 是学生:{is_student} (类型:{type(is_student)})")
print(f"布尔值示例 - 已就业:{is_employed} (类型:{type(is_employed)})")
print("")
# 2. 字符串类型 (String)
print("=== 字符串类型 ===")
name = '张三'
print(f"单引号字符串:{name}")
message = "Hello, World!"
print(f"双引号字符串:{message}")
multiline_text = """这是一个多行字符串示例"""
print(f"三引号字符串:{multiline_text}")
formatted_str = f"姓名:{name}, 年龄:{age}"
print(f"F-string 格式化:{formatted_str}")
print("")
# 3. 列表类型 (List) - 可变有序序列
print("=== 列表类型 ===")
fruits = ['苹果', '香蕉', '橙子']
print(f"水果列表:{fruits} (类型:{type(fruits)})")
print(f"第一个水果:{fruits[0]}")
fruits[1] = '葡萄'
print(f"修改后的水果列表:{fruits}")
fruits.append('草莓')
print(f"添加草莓后的列表:{fruits}")
print("")
# 4. 元组类型 (Tuple) - 不可变有序序列
print("=== 元组类型 ===")
coordinates = (10, 20)
print(f"坐标元组:{coordinates} (类型:{type(coordinates)})")
x, y = coordinates
print(f"解包后 - x: {x}, y: {y}")
print("")
# 5. 字典类型 (Dictionary) - 键值对集合
print("=== 字典类型 ===")
person = {'name': '李四', 'age': 30, 'city': '北京'}
print(f"人员信息字典:{person} (类型:{type(person)})")
print(f"姓名:{person['name']}")
person['occupation'] = '工程师'
print(f"添加职业后的字典:{person}")
print("")
# 6. 集合类型 (Set) - 无序不重复元素集合
print("=== 集合类型 ===")
unique_numbers = {1, 2, 3, 3, 4, 4, 5}
print(f"唯一数字集合:{unique_numbers} (类型:{type(unique_numbers)}, 注意重复元素被去除)")
set_a = {1, 2, 3}
set_b = {3, 4, 5}
union_result = set_a | set_b
print(f"并集:{union_result}")
intersection_result = set_a & set_b
print(f"交集:{intersection_result}")
print("")
# 7. 类型转换 (Type Conversion)
print("=== 类型转换 ===")
str_num = "123"
int_num = int(str_num)
print(f"字符串 '{str_num}' 转整数:{int_num} (类型:{type(int_num)})")
num = 456
str_from_num = str(num)
print(f"整数 {num} 转字符串:'{str_from_num}' (类型:{type(str_from_num)})")
my_list = [1, 2, 3]
my_tuple = tuple(my_list)
print(f"列表 {my_list} 转元组:{my_tuple} (类型:{type(my_tuple)})")
original_tuple = ('a', 'b', 'c')
new_list = list(original_tuple)
print(f"元组 {original_tuple} 转列表:{new_list} (类型:{type(new_list)})")
print("")
# 8. None 类型
print("=== None 类型 ===")
result = None
print(f"None 值:{result} (类型:{type(result)})")
print("")
# 9. 查看变量类型
print("=== 查看变量类型 ===")
variations = [age, height, name, is_student, fruits, coordinates, person, unique_numbers]
for i, var in enumerate(variations, 1):
print(f"变量 {i}: 值={var}, 类型={type(var).__name__}")
数据类型特性对比
| 数据类型 | 可变性 | 有序性 | 允许重复 | 索引方式 |
|---|---|---|---|---|
| 列表 | 可变 | 有序 | 允许 | 数字索引 |
| 元组 | 不可变 | 有序 | 允许 | 数字索引 |
| 字典 | 可变 | 有序 | 值允许,键不允许 | 键索引 |
| 集合 | 可变 | 无序 | 不允许 | 无索引 |
学习要点
- 理解变量的概念:变量是存储数据的容器
- 掌握各种数据类型的特性:不同数据类型有不同的用途和操作方法
- 学会类型转换:在适当的时候进行数据类型转换
- 理解可变与不可变类型的区别:这会影响程序的行为和性能
实践建议
- 运行示例代码,观察各种数据类型的输出
- 尝试修改代码中的值,观察结果变化
- 练习不同类型之间的转换
- 创建自己的数据结构组合使用多种数据类型


