类型与变量
数据类型
计算机最初作为数值计算工具诞生的,主要处理数学运算。但随着技术发展,人们发现所有信息都可以数字化表示——文字、图像、声音等最终都能转换为二进制数值。
数据类型就是为这些不同种类的数据建立的分类和解释系统。它告诉我们:
- 这些二进制数据代表什么(是数字、文字还是图片)
- 在内存中如何存储(占用多大空间,如何组织)
- 能进行哪些操作(加减乘除、字符处理、图像变换等)
就像同一本二进制"书",数据类型决定了我们是用数学、文学还是音乐的"语言"去阅读它。
数字(int)
在现实中有很多数据,比如年龄、温度、距离、金额等,这些都可以用数字来表示。
在 Python 中 我们可以这样写:
age=18 # 年龄18
price=2.5 # 价格2,5元
字符串(str)
字符串用于表示文本信息,代表一段文。比如 姓名、描述、简介等等,都可以用其表示!
Python 中用单引号、双引号包裹住来表达为字符串。
name="张三" # 姓名
intro='我是中国人' # 简介
布尔值(bool)
在生活中的选择题,答案只有"是"或"否"——这些场景都可以用布尔值清晰地表示 True为真False为假。比如灯的开关,性别的男女,任务是否完成等等!
is_light=False # 是否白天:否
is_boy=True # 是否男孩:是
列表(list)
在表达个人爱好、购物车以及排名列表等场景下,数据往往不止一条。
我们需要往往是容器来存储批量数据,在 Python 中我们用列表就是这种数据结构!
my_love=['唱','跳','打篮球'] # 爱好
rank=['张三','李四','王五'] # 排名
shopping_cart=['洗面奶','洗面奶', 8848, '固体胶',502] # 购物车
与现实规则相同,列表中的元素是有序的(每个元素都有对应的索引)且可以重复的,Python 提供一些列的方法供我们操作列表。
# 【---列表增加元素---】
shopping_cart1=['洗面奶','固体胶',502]
# 插入到末尾:['洗面奶', '固体胶', 502, '香皂']
shopping_cart1.append('香皂')
# 插入到指定位置:['洗面奶', '鸡蛋', '固体胶', 502, '香皂']
shopping_cart1.insert(1, '鸡蛋')
# 【---列表删除元素---】
shopping_cart2 =['洗面奶', '鸡蛋', '固体胶', 502, '香皂']
# 删除指定索引对应的元素:['洗面奶','固体胶', 502, '香皂']
del shopping_cart2[1]
# 删除指定值对应的元素:['洗面奶','固体胶', 502]
shopping_cart2.remove('香皂')
# 删除最后一个元素:['洗面奶', '固体胶']
shopping_cart2.pop()
# 【---列表更改元素---】
shopping_cart3=['洗面奶','固体胶',502]
# 更新指定索引位置的元素:['洗面奶', '香皂', 502]
shopping_cart3[1]='香皂'
# 【---列表查询---】
# 查询列表长度
len(shopping_cart3)
# 查询列表指定索引上的元素
shopping_cart3[2]
# 查询某个元素是否在列表中
'洗面奶' in shopping_cart3
元组(tuple)
Python 的元组与列表几乎完全一致,唯一不同之处在于元组的元素不能修改,和元组使用小括号列表使用方括号书写方式上的不同。
shopping_cart = ('洗面奶','固体胶',502)
字典(dict)
字典用于存储键值对的数据结构,就像现实中的通讯录——通过姓名(键)快速找到电话号码(值)。
适合表示用户信息、配置项等映射关系等场景。
user={'name':'张三', 'age':18, 'city':'北京'} # 用户信息
config={'debug':True, 'port':8080} # 配置项
字典的键是唯一的,值可以是任意类型。Python 提供了丰富的方法来操作字典。
# 【---字典增加/更新元素---】
user1={'name':'张三', 'age':18}
# 添加新键值对:{'name': '张三', 'age': 18, 'city': '北京'}
user1['city']='北京'
# 更新已有键的值:{'name': '张三', 'age': 20, 'city': '北京'}
user1['age']=20
# 【---字典删除元素---】
user2={'name':'张三', 'age':18, 'city':'北京'}
# 删除指定键:{'name': '张三', 'city': '北京'}
del user2['age']
# 删除指定键的值:{'name': '张三'}
user2.pop('city')
# 清空字典:{}
user2.clear()
# 【---字典查询---】
user3={'name':'张三', 'age':18}
# 获取指定键的值:'张三'
user3['name']
# 安全获取(键不存在返回默认值):'未知'
user3.get('phone', '未知')
# 获取所有键个数:3
len(teacher)
# 获取所有键:dict_keys(['name', 'age'])
user3.keys()
# 获取所有值:dict_values(['张三', 18])
user3.values()
# 获取所有键值对:dict_items([('name', '张三'), ('age', 18)])
user3.items()
# 判断键是否存在:True
'name' in user3
集合(set)
集合和列表用途相似,都是用来存储**批量数据的数据结构,主要与其区别是 无序、不重复。
# 1. 初始化:购物车(自动去重):{'苹果', '香蕉', '橙子'}
shopping_cart = {'苹果', '香蕉', '苹果', '橙子'}
len(shopping_cart) # 获取元素个数:3
# 2. 查:苹果在购物车中吗:True
'苹果' in shopping_cart
# 3. 增:加西瓜到购物车:{'苹果', '香蕉', '橙子', '西瓜'}
shopping_cart.add('西瓜')
# 4. 改:集合因元素无需,所以不支持直接修改指定元素
# 5. 删:多种删除方式
# 安全不报错:{'苹果', '橙子', '西瓜', '葡萄'}()
shopping_cart.discard('菠萝蜜')
# 根据元素内容删除:{'苹果', '西瓜', '葡萄'}
shopping_cart.remove('橙子')
# 随机删除一个元素
shopping_cart.pop()
# 删除所有:set()
shopping_cart.clear()
变量
变量的概念基本上和中学数学中方程变量是一致,只是在计算机程序中,变量不仅可以是数字,还可以是任意数据类型。
再通俗点讲就是💬编程中的变量就是贴标签的盒子:你给盒子贴个标签(变量名),里面可以放任何东西——数字、文字、列表等等,想换就换

举个例子,你告诉Python:“我要一个叫 age 的快递箱,里面放25”, Python就会在内存里给你腾出一块空间,贴上 age 的标签,然后把25放进去。之后你只要喊一声 age ,就能立刻拿到25这个数字。
如上中的=为赋值操作,将25赋值到变量a上,也就是上边的放这个动作!
最后,理解变量在计算机内存中的表示也非常重要。当我们写age=25时,Python解释器干了两件事情:
- 在内存中创建了一个25的数字;
- 在内存中创建了一个名为age的变量,并把它指向25。
变量类型
Python如何检测某个变量的数据类型是什么呢,其实Python内置了type函数就是做这个的!
a=1
print(type(a)) # 输出为int类型
你来试试
做完以下 3 道 小练习,让你立刻上手!
① 创建变量 my_money 放 50.5。
② 把今天吃的三餐放进列表 food,晚餐改成“火锅”。
③ 用字典保存你最好的朋友,键只有 name 和 age。