Python 编程中的作用域、递归与函数式编程
1. 作用域
变量本质上是指向值的名称。在 Python 中,有一个内置函数 vars ,它能返回一个类似字典的对象,这个对象可以看作是变量的“隐形字典”,也被称为命名空间或作用域。
x = 1
scope = vars()
print(scope['x']) # 输出: 1
scope['x'] += 1
print(x) # 输出: 2
不过,一般不建议修改 vars 返回的字典,因为根据 Python 官方文档,这样做的结果是未定义的。
除了全局作用域,每次调用函数时都会创建一个新的作用域。例如:
def foo():
x = 42
x = 1
foo()
print(x) # 输出: 1
这里 foo 函数内部的 x 是局部变量,它的赋值操作不会影响全局作用域中的 x 。
如果想在函数内部访问全局变量,只要不重新绑定它,通常是没问题的。但如果局部变量或参数与全局变量同名,全局变量就会被局部变量“遮蔽”。这时可以使用 globals 函数来访问全局变量。
def combine(parameter):
prin
超级会员免费看
订阅专栏 解锁全文
1283

被折叠的 条评论
为什么被折叠?



