Python中的Lambda函数与函数基础

需积分: 50 2 下载量 4 浏览量 更新于2024-08-17 收藏 106KB PPT 举报
"这篇文档详细介绍了Python中的函数,特别是Lambda函数的使用,以及函数的一般概念,命名规则,作用域,参数,返回值,以及局部和全局变量的管理。" 在Python编程语言中,Lambda函数是一种简洁的创建匿名函数的方式。它们在运行时创建,并以表达式的形式返回函数。Lambda函数的语法结构是`lambda 参数列表: 表达式`,例如`lambda x: x * 2`会创建一个接受一个参数x并返回其两倍的函数。在给出的例子中,`g=lambda x:x*2`定义了一个名为g的Lambda函数,它将输入的值乘以2,随后`g(3)`和`g("abcd")`分别展示了对整数和字符串应用此函数的结果。 函数是Python中重要的代码组织单元,用于封装可重用的代码块。函数定义通常以`def`关键字开始,后跟函数名和参数列表,例如`def function_name(arg1, arg2):`。函数体内的语句执行特定任务,可以有返回值,也可以没有。如果无返回值,Python默认返回`None`。 在命名函数时,遵循Python的标识符规则,即名称必须以字母或下划线开头,可以包含字母、数字和下划线的组合。名称区分大小写,并且不能与Python的保留字冲突。 函数的作用域分为局部作用域和全局作用域。局部作用域限制在函数内部,变量在函数外部不可见。而全局作用域覆盖整个脚本或模块,其中定义的变量可以在任何地方被访问。若在函数内部要修改全局变量,需使用`global`关键字声明。 Python中的查找规则遵循LGB(Local-Globals-Built-in)顺序,即首先在局部作用域查找,然后是全局作用域,最后是内置作用域。如果在局部作用域试图修改全局变量,必须使用`global`关键字来指定。 局部变量仅限于函数内部使用,而全局变量在整个程序范围内都可访问。在函数内部定义的变量是局部变量,而在函数外部定义的是全局变量。如果在函数内部想要修改全局变量的值,需要通过`global`关键字声明变量为全局变量。 以下是一个简单的示例,展示了如何在函数内部使用`global`关键字修改全局变量: ```python global globalInt globalInt = 9 def myAdd(): localInt = 3 global gi gi = 7 return globalInt + localInt print(myAdd()) # 输出: 12 print(globalInt) # 输出: 7 print(gi) # 输出: 7 print(localInt) # 报错: NameError: name 'localInt' is not defined ``` 在这个例子中,`myAdd`函数内的`gi`是通过`global`关键字声明的全局变量,因此可以在函数内外访问。而`localInt`只在`myAdd`函数内部有效,外部访问会导致错误。