函数对象与闭包
1、函数对象
函数对象指的是函数可以被当做数据来处理,具体可以分为4个方面使用。
1.1 函数可以被引用
def add(x, y): return x + y func = add print(func(1, 2))
1.2 函数可以作为容器类型的元素
def add(x, y): return x + y dic = {'add': add, 'max': max} a = dic['add'](1, 2) print(a)
1.3 函数可以作为参数传入另一个函数
def add(x, y): return x + y def foo(x, y, func): return func(x, y) a = foo(1, 2, add) print(a)
1.4 函数的返回值可以是一个函数
def add(x, y): return x + y def foo(): return add a = foo() print(a(1, 2))
2、闭包函数
import requests def get(url): return requests.get(url).text get('https://www.baidu.com') def page(url): def get1(): return requests.get(url).text return get1 func = page('https://www.baidu.com') func()

浙公网安备 33010602011771号