""" 01 对 Python 的理解:Python = 算法 + 数据 这份文件适合作为课堂导入材料。 核心观点: Python 程序 = 数据 + 算法 一、什么是数据? 数据就是程序要处理的东西。 1. 一个数据: name = "张三" age = 18 变量不是盒子,更准确地说: 变量名指向一个数据对象。 2. 多个同类数据: students = ["张三", "李四", "王五"] 当同类数据变多后,就需要列表。 列表适合按顺序存放数据,通过索引访问: students[0] students[1] 3. 一个对象有多个属性: student = {"id": 1, "name": "张三", "age": 18} 当一个学生不只是一个名字,而是包含学号、姓名、年龄、电话等信息时, 用字典比列表更清楚。 4. 多个对象,每个对象又有多个属性: students = [ {"id": 1, "name": "张三", "age": 18}, {"id": 2, "name": "李四", "age": 19}, ] 这就是最常见的业务数据结构: 列表负责“多个”,字典负责“一个对象的多个字段”。 二、什么是算法? 算法就是处理数据的步骤。 在 Python 基础阶段,算法主要靠这些语法表达: 1. 顺序执行: 程序从上往下执行。 2. if 判断: 根据条件选择不同的执行路径。 3. while / for 循环: 重复处理一批数据。 4. 函数: 把一段处理逻辑封装起来,方便重复使用。 5. 类: 把数据和操作数据的方法放在一起,形成更清晰的对象模型。 三、用学生管理系统串起来 学生管理系统的本质: 数据:学生信息 算法:增、删、改、查 最初级写法: 用列表保存学生。 进一步: 用函数拆分增删改查逻辑。 再进一步: 用类把“学生管理器”抽象出来。 再进一步: 用反射根据用户输入自动调用方法。 再进一步: 把数据保存到文件,程序关闭后数据不丢。 再进一步: 把数据保存到数据库。 再进一步: 用 ORM 把数据库表映射成 Python 类。 """ def main(): print("Python = 算法 + 数据") print() name = "张三" age = 18 print("一个学生:", name, age) names = ["张三", "李四", "王五"] print("多个学生姓名:", names) print("第一个学生姓名:", names[0]) student = {"id": 1, "name": "张三", "age": 18} print("一个完整学生:", student) print("学生姓名:", student["name"]) students = [ {"id": 1, "name": "张三", "age": 18}, {"id": 2, "name": "李四", "age": 19}, ] print("多个完整学生:") for item in students: if item["age"] >= 18: print(item["name"], "已经成年") else: print(item["name"], "未成年") if __name__ == "__main__": main()