Python 函数进阶
在 Python 编程中,函数是组织代码的基本单元。掌握函数的进阶技巧,包括变量作用域管理、高阶函数应用、递归逻辑以及 Lambda 表达式,能够显著提升代码的复用性和可维护性。
变量的作用域
一个程序中的所有变量并不是在任何位置都可以访问的。访问权限取决于变量是在哪里赋值的。变量的作用域决定了在哪一部分程序中你可以访问哪个特定的变量名称。
全局变量
全局变量是在函数外部定义的变量,可以在整个脚本的任何地方被访问(除非被局部变量遮蔽)。
global_var = "I am global"
def print_global():
print(global_var)
print_global()
局部变量
局部变量是在函数内部定义的变量,只能在定义它的函数内部访问。
def func():
local_var = "I am local"
print(local_var)
func()
# print(local_var) # 这里会报错,NameError
修改变量作用域
在函数内部修改全局变量需要使用 global 关键字声明。如果希望修改嵌套作用域中的非全局变量,可以使用 nonlocal 关键字。
count = 0
def increment():
global count
count += 1
return count
print(increment()) # 输出 1
print(increment()) # 输出 2
# nonlocal 示例
def outer():
x = 10
def inner():
nonlocal x
x = 20
print(x)
inner()
print(x)
outer() # 输出 20, 20
高阶函数
高阶函数是指至少满足以下两个条件之一的函数:
- 接受一个或多个函数作为参数。
- 返回一个函数。


