函数对象与闭包

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()
posted @ 2022-04-26 21:33  Tatataaa  阅读(34)  评论(0)    收藏  举报