python3中,用关键字nonlocal进行环境变量的声明,再修改环境变量
结构:
def 外部函数(参数):
def 内部函数(参数):
使用外部函数的参数(环境变量)
return 内部函数的引用(用函数名,不加())
实例闭包函数求平均值:
def mean():
def count(list1):
means=sum(list1)/len(list1)
return means
return count
mymeans=mean()
list1=[1,2,3,4,5]
print(mymeans(list1))
结果等于 3.0
装饰器:
def line_couf(k,b):
def line(x):
return k*x+b
return line
line1=line_conf(1,1)
line2=line_conf(3,1)
result1=line1(8)
result2=line2(8)
print(result1)
print(result2)
结果等于 9 25
引用函数:
def old()
print('你好')
old()
new=old
new()
print(id(old))
print(id(new))
结果 你好 你好
old和new的相同的地址单元