第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. 下節課預告
下節課我們將學習:
- 面向對象編程基礎
- 類和對象的概念
- 繼承和多態