Python基础课程

商务数据分析与应用专业学习路径

第5章:函数

5.1 函数的定义和调用

函数是一段可重用的代码块,用于执行特定的任务。在Python中,使用 def 关键字定义函数。

# 定义函数 def greet(): print("Hello, welcome to Python!") # 调用函数 greet() # 带参数的函数 def greet_name(name): print(f"Hello, {name}!") # 调用带参数的函数 greet_name("Tina") # 带返回值的函数 def add(a, b): return a + b # 调用带返回值的函数 result = add(3, 5) print(result)

5.2 函数参数

Python函数支持多种类型的参数:

5.2.1 位置参数

def calculate_area(length, width): return length * width area = calculate_area(5, 3) print(area)

5.2.2 默认参数

def calculate_area(length, width=2): return length * width # 使用默认参数 area1 = calculate_area(5) # width使用默认值2 print(area1) # 覆盖默认参数 area2 = calculate_area(5, 4) # width使用值4 print(area2)

5.2.3 关键字参数

def calculate_area(length, width): return length * width # 使用关键字参数 area = calculate_area(width=3, length=5) print(area)

5.2.4 可变参数

# 可变位置参数(*args) def sum_numbers(*args): total = 0 for num in args: total += num return total result = sum_numbers(1, 2, 3, 4, 5) print(result) # 可变关键字参数(**kwargs) def print_info(**kwargs): for key, value in kwargs.items(): print(f"{key}: {value}") print_info(name="Tina", age=18, major="商务数据分析与应用")

5.3 函数的返回值

函数可以使用 return 语句返回一个或多个值:

# 返回单个值 def calculate_area(length, width): return length * width # 返回多个值 def calculate_rectangle(length, width): area = length * width perimeter = 2 * (length + width) return area, perimeter # 接收多个返回值 area, perimeter = calculate_rectangle(5, 3) print(f"面积: {area}, 周长: {perimeter}")

5.4 局部变量和全局变量

在函数内部定义的变量是局部变量,只在函数内部有效。在函数外部定义的变量是全局变量,可以在整个程序中使用。

# 全局变量 global_var = "全局变量" def test_function(): # 局部变量 local_var = "局部变量" print(local_var) print(global_var) test_function() print(global_var) # print(local_var) # 这会引发错误,因为local_var是局部变量

注意事项

如果需要在函数内部修改全局变量,需要使用 global 关键字声明:

global_var = 10 def modify_global(): global global_var global_var = 20 print(global_var) # 输出 10 modify_global() print(global_var) # 输出 20

5.5 商务数据分析中的应用示例

下面是一个使用函数的实际应用示例,用于分析销售数据:

代码运行器

函数设计建议

  • 函数应该有清晰的功能和命名
  • 函数应该保持简洁,只做一件事情
  • 使用文档字符串(docstring)来描述函数的功能
  • 合理使用参数和返回值
  • 避免在函数内部修改全局变量