Python中闭包是如何实现函数内部变量访问的?
- 内容介绍
- 文章标签
- 相关推荐
本文共计175个文字,预计阅读时间需要1分钟。
伪原创可以改写为内容改写。以下是改写后的开头内容:
内容改写,一种创新的文本处理方式,旨在将原有内容进行优化和调整,使其在保持原意的基础上,呈现出新的面貌。
#不是闭包
def f1():
a = 10
def f2():
a = 20
print(a)
print(a) -- 10
f2() -- 20
print(a) --10
f1()
___
闭包
def f1(): a = 10 def f2(): c = 20 * a return f2 f = f1() print(f.__closure__)
origin=0 def factory(pos): def go(step): nonlocal pos new_pos = pos + step pos = new_pos return new_pos return go t = factory(origin) print(t(2)) --2 print(t(3)) --5 print(t(5)) --10print(origin)--0
本文共计175个文字,预计阅读时间需要1分钟。
伪原创可以改写为内容改写。以下是改写后的开头内容:
内容改写,一种创新的文本处理方式,旨在将原有内容进行优化和调整,使其在保持原意的基础上,呈现出新的面貌。
#不是闭包
def f1():
a = 10
def f2():
a = 20
print(a)
print(a) -- 10
f2() -- 20
print(a) --10
f1()
___
闭包
def f1(): a = 10 def f2(): c = 20 * a return f2 f = f1() print(f.__closure__)
origin=0 def factory(pos): def go(step): nonlocal pos new_pos = pos + step pos = new_pos return new_pos return go t = factory(origin) print(t(2)) --2 print(t(3)) --5 print(t(5)) --10print(origin)--0

