第4课:函数
课程目标
- 掌握函数的定义和调用方法
- 学习参数传递和返回值的使用
- 理解函数的作用域和命名空间
1. 函数的基本概念
函数是一段可重复使用的代码块,用于执行特定的任务。
2. 函数的定义和调用
# 定义函数
def greet():print("你好,世界!")# 调用函数
greet()# 带参数的函数
def greet_person(name):print(f"你好,{name}!")greet_person("张三")# 带返回值的函数
def add(a, b):return a + bresult = add(5, 3)
print(result) # 8
3. 参数传递
# 位置参数
def describe_person(name, age, city):print(f"姓名:{name},年龄:{age},城市:{city}")describe_person("张三", 25, "北京")# 默认参数
def greet(name, greeting="你好"):print(f"{greeting},{name}!")greet("张三")
greet("李四", "早上好")# 可变参数
def sum_numbers(*args):return sum(args)print(sum_numbers(1, 2, 3, 4, 5))
4. 返回值
def calculate_area(length, width):return length * widtharea = calculate_area(5, 3)
print(f"面积:{area}")def get_grade(score):if score >= 90:return "优秀"elif score >= 80:return "良好"else:return "及格"grade = get_grade(85)
print(f"等级:{grade}")
5. 练习项目
项目:计算器函数库
def add(a, b):return a + bdef subtract(a, b):return a - bdef multiply(a, b):return a * bdef divide(a, b):if b == 0:return "错误:除数不能为0"return a / bdef calculator():print("=== 简单计算器 ===")while True:try:expression = input("请输入计算表达式(如:5 + 3,输入'q'退出):")if expression.lower() == 'q':breakparts = expression.split()if len(parts) != 3:print("格式错误!")continuea, operator, b = float(parts[0]), parts[1], float(parts[2])if operator == '+':result = add(a, b)elif operator == '-':result = subtract(a, b)elif operator == '*':result = multiply(a, b)elif operator == '/':result = divide(a, b)else:print("不支持的操作符!")continueprint(f"结果:{a} {operator} {b} = {result}")except ValueError:print("输入错误!")if __name__ == "__main__":calculator()
6. 总结
本节课我们学习了:
- 函数的定义和调用方法
- 各种参数传递方式
- 返回值的概念和使用
- 编写了计算器程序
7. 下节课预告
下节课我们将学习:
- 面向对象编程基础
- 类和对象的概念
- 继承和多态