python | 函数

时间:2024-03-02 17:15:53

函数定义:

函数是一段 组织好的可重复使用的用来实现特定功能的 代码块。

例如:

def make_juice():
  print('将猕猴桃去皮')
  print('将猕猴桃切块')
  print('将切碎的猕猴桃放进榨汁机')
  print('将果汁倒进杯子中')
  print('制作完成!')

函数的参数:

参数类型:

根据不同的需求,Python 中的参数按传入方式分为两种:

  • 位置参数
  • 关键字参数:在调用函数时按照 参数名 = 值 的格式传入了参数

例如:

def print_foods(food1, food2, food3, food4):
  print(food1)
  print(food2)
  print(food3)
  print(food4)

print_foods('小熊饼干', '果汁', '牛奶', '薯片')

print_foods(food4='薯片', food3='牛奶', food1='小熊饼干', food2='果汁')

  • 默认参数

def record(name, height, weight, age=5):
  print('欢迎小朋友们!')
  print('姓名:', name)
  print('年龄:', age)
  print('身高:', height, 'cm')
  print('体重:', weight, 'kg')

record('xback', 151, 48)

函数的多个返回值:

def new_kids(kid1, kid2, kid3, kid4):
  # 多个值在 return 后并列,用英文逗号间隔开
  return kid1, kid2, kid3, kid4

print(new_kids('小明', '小红', '小朋友', '小花'))
# 输出:('小明', '小红', '小朋友', '小花')

函数的变量作用域:

在 Python 中变量分为两种: 全局变量 和 局部变量

全局变量 在当前写的代码中一直起作用。全局变量 有效的范围,叫作 全局作用域

局部变量 只在一定范围内有效,在范围外就无效了。

如果局部变量和全局变量名称相同,那函数内部会优先访问局部变量,外部只会访问全局变量。

total_rent = 0
def calc_rent(n, rent):
  # 原来的函数中 total_rent 只是局部变量
  # 与全局变量 total_rent 名称相同,但互不干扰
  # 所以要用 global 关键字将 total_rent 与之前的全局变量挂钩
  global total_rent
  total_rent = n * rent

calc_rent(12, 3500)

# 现在的 total_rent 仍是全局变量
# 由于函数中的 global 关键字,函数中对 total_rent 的修改全局生效了
print(total_rent)