
千峰#1.12.1
''':cvar
作用域:LEGB
1。 local 本地 局部变量
E:enclosing 嵌套
G:Global 全局
B: built-in 内置的
里层找不到找外层
'''
a = 100
def func(b):
# a = 10
def inner_func():
a = 1 # 里层找不到找外层
print(max, a, b)
return inner_func
# 调用外部函数
f = func(7)
f() # 调用要加括号
'''
嵌套函数
闭包:
1.内层函数
2.内层函数引用外层函数的变量
3.返出内层函数
装饰器:
1.内层函数
2.内层函数引用外层函数的变量
3.返出内层函数
4.函数作为外层函数参数
使用装饰器:
@装饰器名字
def 函数名():
pass
'''
def zhuang(func):
def wrapper(*args, **kwargs):
func() # 原函数
print('---' * 10)
return wrapper
@zhuang
def f1():
pass
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)