From f9d1eadfc8d7160f895cea9b476c73ad818ee3bb Mon Sep 17 00:00:00 2001 From: lkjing2021345 <1908499668@qq.com> Date: Sat, 22 Aug 2026 01:09:35 +0800 Subject: [PATCH] =?UTF-8?q?Add=20Day=5F11:=20=E9=9D=A2=E5=90=91=E5=AF=B9?= =?UTF-8?q?=E8=B1=A1(=E4=B8=80)=E7=B1=BB=E4=B8=8E=E5=AE=9E=E4=BE=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Day_11/README.md | 88 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 88 insertions(+) create mode 100644 Day_11/README.md diff --git a/Day_11/README.md b/Day_11/README.md new file mode 100644 index 0000000..c0c7dfe --- /dev/null +++ b/Day_11/README.md @@ -0,0 +1,88 @@ +# Day_11 · 面向对象(一):类与实例 + +> 预计耗时:25~30 分钟 +> Django 最核心的东西是"用类表示数据"(ORM)。今天第一次接触**类**——先别慌,照抄、运行、改改看。 + +## 今日知识点 + +- **类**(class)是"图纸",**实例**(instance)是按图纸造出来的"实物" +- `__init__`:造实例时自动执行的"初始化"方法,用来存数据 +- `self`:代表"这个实例自己",`self.name` 就是"这个实例的名字" +- 实例方法:类里面定义的函数,通过 `实例.方法()` 调用 + +## 先学(教程) + +- 菜鸟教程("面向对象"一节,先看到"创建实例"为止):https://www.runoob.com/python3/python3-class.html +- B站黑马教程(看讲"面向对象、类"的几集):https://www.bilibili.com/video/BV1qW4y1a7fU/ + +## 任务(后做) + +新建 `day11.py`: + +1. 定义一只狗: + ```python + class Dog: + def __init__(self, name, breed): + self.name = name # 狗的名字 + self.breed = breed # 狗的品种 + + def bark(self): + print(f"{self.name}:汪!") + + d1 = Dog("旺财", "金毛") + d2 = Dog("小黑", "柯基") + d1.bark() + d2.bark() + ``` +2. 加一个方法,打印自我介绍: + ```python + # 在 Dog 类里再加一个方法: + def intro(self): + print(f"我是{self.breed},叫{self.name}") + + d1.intro() + ``` +3. **进阶(加分)**:照葫芦画瓢,自己定义一个 `User` 类,字段 `name`、`age`, + 方法 `greet()` 打印 `你好,我叫xxx,今年xx岁`,创建两个用户调用。 + (提示:这正是 Django 里 `class User(models.Model)` 的雏形。) + +## 完成标准 + +- [ ] 两只狗都能叫、都能自我介绍 +- [ ] 能说出 `self` 是干嘛的 +- [ ] (进阶)User 类完成 + +**提交方式**:把 `day11.py` 代码贴在当日工单评论里。 + +## 参考解答(先做再看) + +```python +class Dog: + def __init__(self, name, breed): + self.name = name + self.breed = breed + + def bark(self): + print(f"{self.name}:汪!") + + def intro(self): + print(f"我是{self.breed},叫{self.name}") + +d1 = Dog("旺财", "金毛") +d2 = Dog("小黑", "柯基") +d1.bark() # 旺财:汪! +d2.bark() # 小黑:汪! +d1.intro() # 我是金毛,叫旺财 + +# 进阶 +class User: + def __init__(self, name, age): + self.name = name + self.age = age + + def greet(self): + print(f"你好,我叫{self.name},今年{self.age}岁") + +u1 = User("张三", 18) +u1.greet() # 你好,我叫张三,今年18岁 +```