一、闭包的形成的条件
外部函数返回值是一个内部函数,并且内部函数引用了外部函数的变量,因此这个内部函数就和外部函数的变量形成了一个整体,构成了闭包。
二、闭包的语法
def func(param):
def func_inner(base):
pass
return func_inner
三、闭包举例
def make_suffix(suffix):
def func_suffix(name):
if not name.endswith(suffix):
return name + suffix
return name
return func_suffix
# Python闭包,实现判断文件后缀
f = make_suffix(".jpg") # 调用make_suffix返回结果是一个函数
print("FileName =", f("sea")) # 执行返回的函数
print("FileName =", f("sun.jpg"))