# 闭包是一种特殊情况,如果外函数在结束的时候发现有自己的临时变量将来会在内部函数中用到,就把这个临时变量绑定给了内部函数,然后自己再结束
# 1
def outer(a):
b=10
def inner():
print(a+b)
return inner
demo = outer(5)
demo()
demo2 = outer(7)
demo2()
# 2
def outer(a):
b =10
c=[a]
def inner():
nonlocal b #表示这个变量不是局部变量空间的变量,需要向上一层变量空间找这个变量
b+=1
c[0]+=1
print(c[0])
print(b)
class Testdemo(object):
def h1(self):
print("h1")
return self
def h2(self):
print("h2")
return self
def h3(self):
print("h3")
return self
demo = Testdemo()
# r1 = demo.h1()
# r2 =r1.h2()
# r3 =r2.h3()
demo.h1().h2().h3()
注解说明
最新推荐文章于 2023-11-10 16:37:15 发布