编辑
2025-03-30
python
0

目录

1. 函数多返回值
2. 函数多种传参方式
3. 匿名函数
4. 函数作为参数传递
5. lambda匿名函数总结
总结

Python函数进阶

Python第七课: Python函数进阶

1. 函数多返回值

  • 多个返回值的实现
    • 使用多个 return 语句时,只会执行第一个 return,因为 return 会退出当前函数,导致其后的代码不再执行。
    • 如果需要返回多个值,可以按顺序使用多个变量接收返回值,变量之间用逗号隔开。例如:
      python
      def get_info(): return 1, "hello", True a, b, c = get_info() print(a, b, c) # 输出:1 hello True
    • 返回值可以是不同类型的数据。

2. 函数多种传参方式

  • 位置参数

    • 调用函数时,根据函数定义的参数位置传递参数。
    • 传递的参数顺序及个数必须与定义的参数一致。
    • 例如:
      python
      def add(a, b): return a + b result = add(1, 2) # 位置参数,结果为3
  • 关键字参数

    • 通过 键=值 的形式传递参数,可以不考虑参数顺序。
    • 位置参数必须在关键字参数之前。
    • 例如:
      python
      def add(a, b): return a + b result = add(b=2, a=1) # 关键字参数,结果为3
  • 缺省参数(默认参数)

    • 定义函数时为参数提供默认值,调用时若不传该参数,则使用默认值。
    • 位置参数必须在默认参数之前。
    • 例如:
      python
      def add(a, b=2): return a + b result = add(1) # 使用默认值b=2,结果为3
  • 不定长参数

    • 用于不确定传入参数个数的情况。
    • 位置传递
      • 使用 *args,将所有传入的参数合并为一个元组。
      • 例如:
        python
        def print_numbers(*args): print(args) print_numbers(1, 2, 3) # 输出:(1, 2, 3)
    • 关键字传递
      • 使用 **kwargs,将所有传入的键值对合并为一个字典。
      • 例如:
        python
        def print_info(**kwargs): print(kwargs) print_info(name="Alice", age=20) # 输出:{'name': 'Alice', 'age': 20}

3. 匿名函数

  • lambda匿名函数
    • 使用 lambda 关键字定义,适用于仅使用一次的简单函数。
    • 语法:
      python
      lambda 参数1, 参数2, ... : 表达式
    • 例如:
      python
      add = lambda x, y: x + y result = add(1, 2) # 结果为3
    • 注意事项
      • 匿名函数只能写一行表达式,不能包含多行代码。
      • 适合临时使用,不可重复调用。

4. 函数作为参数传递

  • 函数作为参数
    • 函数本身可以作为参数传入另一个函数中使用。
    • 传递的是计算逻辑,而非数据。
    • 例如:
      python
      def compute(x, y): return x + y def test_func(func, a, b): return func(a, b) result = test_func(compute, 1, 2) # 结果为3

5. lambda匿名函数总结

  • 定义
    • 使用 lambda 关键字定义匿名函数。
    • 语法:lambda 参数: 表达式
  • 使用场景
    • 适用于一次性使用的简单函数。
    • 函数体只能写一行代码。

总结

  1. 函数多返回值

    • 通过多个变量按顺序接收返回值。
    • 支持不同类型的返回值。
  2. 传参方式

    • 位置参数:按顺序传递。
    • 关键字参数:通过 键=值 传递,无顺序限制。
    • 缺省参数:提供默认值,调用时可省略。
    • 不定长参数:通过 *args**kwargs 接收不定数量的参数。
  3. 匿名函数

    • 使用 lambda 定义,适用于一次性使用的简单函数。
    • 只能写一行表达式。
  4. 函数作为参数

    • 函数可以作为参数传入另一个函数,传递计算逻辑而非数据。
如果对你有用的话,可以打赏哦
打赏
ali pay
wechat pay

本文作者:Dageling003

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!