Python 变量和数据类型
Python 变量和数据类型
概述
变量和数据类型是编程的基础概念。在Python中,变量用于存储数据,而数据类型决定了变量可以存储的数据种类以及可以对这些数据执行的操作。
数据类型分类
数据类型分类
数据类型 ├── 基本数据类型 │ ├── 数字类型 (Numbers) │ ├── 字符串类型 (String) │ ├── 布尔类型 (Boolean) │ └── None类型 └── 复合数据类型 ├── 列表类型 (List) ├── 元组类型 (Tuple) ├── 字典类型 (Dictionary) └── 集合类型 (Set) 代码示例
#!/usr/bin/env python3# -*- coding: utf-8 -*-""" 文件名: variables_and_data_types.py 开发思路和开发过程: 1. 首先介绍Python中的基本数据类型 2. 演示如何声明和使用变量 3. 展示各种数据类型的特性和用法 4. 包含类型转换的相关示例 代码功能: 演示Python中的变量和数据类型,包括数字、字符串、布尔值等基本类型, 以及列表、元组、字典、集合等复合类型。 """# 1. 数字类型 (Numbers)print("=== 数字类型 ===")# 整数 (Integer) age =25print(f"整数示例 - 年龄: {age} (类型: {type(age)})")# 浮点数 (Float) height =175.5print(f"浮点数示例 - 身高: {height}cm (类型: {type(height)})")# 复数 (Complex) complex_num =3+4jprint(f"复数示例: {complex_num} (类型: {type(complex_num)})")# 布尔值 (Boolean) - 实际上是int的子类 is_student =True is_employed =Falseprint(f"布尔值示例 - 是学生: {is_student} (类型: {type(is_student)})")print(f"布尔值示例 - 已就业: {is_employed} (类型: {type(is_employed)})")print("\n")# 2. 字符串类型 (String)print("=== 字符串类型 ===")# 单引号字符串 name ='张三'print(f"单引号字符串: {name}")# 双引号字符串 message ="Hello, World!"print(f"双引号字符串: {message}")# 三引号字符串(多行字符串) multiline_text =""" 这是一个 多行 字符串示例 """print(f"三引号字符串: {multiline_text}")# 字符串格式化 (f-string, Python 3.6+特性,在Python 3.12中仍然适用) formatted_str =f"姓名: {name}, 年龄: {age}"print(f"F-string格式化: {formatted_str}")print("\n")# 3. 列表类型 (List) - 可变有序序列print("=== 列表类型 ===")# 创建列表 fruits =['苹果','香蕉','橙子']print(f"水果列表: {fruits} (类型: {type(fruits)})")# 访问列表元素print(f"第一个水果: {fruits[0]}")# 修改列表元素 fruits[1]='葡萄'print(f"修改后的水果列表: {fruits}")# 添加元素 fruits.append('草莓')print(f"添加草莓后的列表: {fruits}")print("\n")# 4. 元组类型 (Tuple) - 不可变有序序列print("=== 元组类型 ===")# 创建元组 coordinates =(10,20)print(f"坐标元组: {coordinates} (类型: {type(coordinates)})")# 元组解包 x, y = coordinates print(f"解包后 - x: {x}, y: {y}")print("\n")# 5. 字典类型 (Dictionary) - 键值对集合print("=== 字典类型 ===")# 创建字典 person ={'name':'李四','age':30,'city':'北京'}print(f"人员信息字典: {person} (类型: {type(person)})")# 访问字典值print(f"姓名: {person['name']}")# 添加新的键值对 person['occupation']='工程师'print(f"添加职业后的字典: {person}")print("\n")# 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("\n")# 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("\n")# 8. None类型print("=== None类型 ===") result =Noneprint(f"None值: {result} (类型: {type(result)})")print("\n")# 9. 查看变量类型print("=== 查看变量类型 ===") variations =[age, height, name, is_student, fruits, coordinates, person, unique_numbers]for i, var inenumerate(variations,1):print(f"变量 {i}: 值={var}, 类型={type(var).__name__}")数据类型特性对比
数据类型特性对比
可变性
有序性
允许重复
索引方式
列表: 可变
元组: 不可变
字典: 可变
集合: 可变
列表: 有序
元组: 有序
字典: 有序
集合: 无序
列表: 允许
元组: 允许
字典: 值允许,键不允许
集合: 不允许
列表: 数字索引
元组: 数字索引
字典: 键索引
集合: 无索引
学习要点
- 理解变量的概念:变量是存储数据的容器
- 掌握各种数据类型的特性:不同数据类型有不同的用途和操作方法
- 学会类型转换:在适当的时候进行数据类型转换
- 理解可变与不可变类型的区别:这会影响程序的行为和性能
实践建议
- 运行示例代码,观察各种数据类型的输出
- 尝试修改代码中的值,观察结果变化
- 练习不同类型之间的转换
- 创建自己的数据结构组合使用多种数据类型