82 lines
2.1 KiB
Markdown
82 lines
2.1 KiB
Markdown
# Day_8 · 函数:把代码装进"盒子"反复用
|
||
|
||
> 预计耗时:20~30 分钟
|
||
> 后端每个页面就是一个函数(Django 的视图函数 `def index(request):`)。今天学定义和调用。
|
||
|
||
## 今日知识点
|
||
|
||
- 定义:`def 名字(参数):` ,用 `return` 返回结果
|
||
- 调用:`名字(实参)`
|
||
- 默认参数:`def greet(name="朋友"):` —— 不传就用默认值
|
||
- 函数的好处:写一次,到处调用;代码不重复
|
||
|
||
## 先学(教程)
|
||
|
||
- 菜鸟教程("函数"一节,重点看定义、参数、返回值):https://www.runoob.com/python3/python3-function.html
|
||
- B站黑马教程(看讲"函数"的几集):https://www.bilibili.com/video/BV1qW4y1a7fU/
|
||
|
||
## 任务(后做)
|
||
|
||
新建 `day8.py`:
|
||
|
||
1. 加法函数:
|
||
```python
|
||
def add(a, b):
|
||
return a + b
|
||
|
||
print(add(3, 5)) # 应该输出 8
|
||
print(add(10, 20)) # 30
|
||
```
|
||
2. 打招呼函数:
|
||
```python
|
||
def greet(name):
|
||
return f"你好,{name}!"
|
||
|
||
print(greet("张三"))
|
||
```
|
||
3. 默认参数:
|
||
```python
|
||
def greet2(name="朋友"):
|
||
return f"你好,{name}!"
|
||
|
||
print(greet2()) # 你好,朋友!
|
||
print(greet2("李四")) # 你好,李四!
|
||
```
|
||
4. **进阶(加分)**:写函数 `is_adult(age)`,年龄 ≥ 18 返回 `True` 否则 `False`,
|
||
然后用它给三个年龄(15、20、25)分别打印"成年/未成年"。
|
||
|
||
## 完成标准
|
||
|
||
- [ ] 任务 1~3 输出正确
|
||
- [ ] 能说出 `return` 和 `print` 的区别(函数里不 return 会返回什么?)
|
||
- [ ] (进阶)is_adult 结果正确
|
||
|
||
**提交方式**:把 `day8.py` 代码贴在当日工单评论里。
|
||
|
||
## 参考解答(先做再看)
|
||
|
||
```python
|
||
def add(a, b):
|
||
return a + b
|
||
|
||
print(add(3, 5)) # 8
|
||
|
||
def greet(name):
|
||
return f"你好,{name}!"
|
||
|
||
print(greet("张三"))
|
||
|
||
def greet2(name="朋友"):
|
||
return f"你好,{name}!"
|
||
|
||
print(greet2()) # 你好,朋友!
|
||
print(greet2("李四")) # 你好,李四!
|
||
|
||
# 进阶
|
||
def is_adult(age):
|
||
return age >= 18
|
||
|
||
for age in (15, 20, 25):
|
||
print(f"{age}岁:" + ("成年" if is_adult(age) else "未成年"))
|
||
```
|