MST

星途 面试题库

面试题:Python中闭包的概念及简单应用场景

请阐述Python闭包的概念,并举例说明一个在实际编程中可能用到闭包的简单场景,比如实现一个计数器功能。
43.8万 热度难度
编程语言Python

知识考点

AI 面试

面试题答案

一键面试

Python闭包概念

在Python中,闭包(Closure)是一种特殊的函数,它由内部函数和外部函数组成。外部函数返回内部函数,并且内部函数能够访问并记住外部函数作用域中的变量,即使外部函数已经执行完毕返回,这些变量仍然会被保留在内存中,供内部函数使用。

计数器功能示例

def counter():
    count = 0
    def inner():
        nonlocal count
        count = count + 1
        return count
    return inner


my_counter = counter()
print(my_counter())
print(my_counter())
print(my_counter())

在上述代码中,counter 是外部函数,inner 是内部函数。inner 函数能够记住并修改 counter 函数作用域中的 count 变量,即使 counter 函数已经返回。每次调用 my_counter(即 inner 函数),都会使 count 增加1并返回新的值,从而实现一个简单的计数器功能。