当前位置: 代码迷 >> 综合 >> python学习第六课:函数与Lambda表达式
  详细解决方案

python学习第六课:函数与Lambda表达式

热度:57   发布时间:2024-02-05 10:49:13.0

1、函数也是一个对象,可以当成变量。即参数是函数,返回值也是函数。

2、Python 的函数具有非常灵活多样的参数形态,既可以实现简单的调用,又可以传入非常复杂的参数。

Python 允许函数调用时参数的顺序与声明时不一致,因为 Python 解释器能够用参数名匹配参数值。

3. 参数组合

在 Python 中定义函数,可以用位置参数、默认参数、可变参数、命名关键字参数和关键字参数,这 5 种参数中的 4 个都可以一起使用,但是注意,参数定义的顺序必须是:

  • 位置参数、默认参数、可变参数和关键字参数。
  • 位置参数、默认参数、命名关键字参数和关键字参数。

要注意定义可变参数和关键字参数的语法:

  • *args 是可变参数,args 接收的是一个 tuple
  • **kw 是关键字参数,kw 接收的是一个 dict

命名关键字参数是为了限制调用者可以传入的参数名,同时可以提供默认值。定义命名关键字参数不要忘了写分隔符 *,否则定义的是位置参数。

4、当内部作用域想修改外部作用域的变量时,就要用到global和nonlocal关键字了。

5、Lambda表达式

函数的一种,正规函数 def 定义的,不正规的匿名函数:lambda关键字

语法结构如下:lambda argument_list:expression

  • expression 中没有 return 语句,因为 lambda 不需要它来返回,表达式本身结果就是返回值。
  • 匿名函数拥有自己的命名空间,且不能访问自己参数列表之外或全局命名空间里的参数。
    func = lambda *args: sum(args)
    print(func(1, 2, 3, 4, 5))  # 15
  相关解决方案