函数(三)闭包函数与装饰器

闭包函数

1 定义

​ 闭是封闭(函数内部函数),包是包含(该内部函数对外部作用域而非全局作用域的变量的引用)。闭包指的是:函数内部函数对外部作用域而非全局作用域的引用

def outter():
    x = 1
    def inner():
        print(x)
    return inner

f = outter()

def f2():
    x = 2
    f()

f2()

2 两种为函数传参的方式

​ (1)使用参数的形式

def func(x):
    print(x)

func(1)
func(1)

​ (2)包给函数

def outter(x):
    def inner():
        print(x)
    return inner

f = outter(1)
f()
f()

装饰器

1 定义

​ 实质: 是一个函数

    参数:是你要装饰的函数名(并非函数调用)

    返回:是装饰完的函数名(也非函数调用)

    作用:为已经存在的对象添加额外的功能

    特点:不需要对对象做任何的代码上的变动

posted @ 2019-06-05 16:46  X_solitude  阅读(111)  评论(0编辑  收藏  举报