Python3 闭包的使用

    科技2023-11-01  86

    闭包可以用来在一个函数与一组“私有”变量之间创建关联关系。在给定函数被多次调用的过程中,这些私有变量能够保持其持久性。变量的作用域仅限于包含它们的函数,因此无法从其它程序代码部分进行访问。 不过,变量的生存期是可以很长,在一次函数调用期间所创建所生成的值在下次函数调用时仍然存在。正因为这一特点,闭包可以用来完成信息隐藏,并进而应用于需要状态表达的某些编程范型中。 我们来看下在python中是如何使用闭包的把:

    def make_averager(): series = [] def averager(new_value): series.append(new_value) total = sum(series) return total/len(series) return averager avg = make_averager() print(avg(10)) print(avg(11)) print(avg(12))

    可以看到,我们使用函数中的series 来存储输入的数据,从而实现了闭包的信息隐藏。 输入如下:

    10.0 10.5 11.0

    最后实现了统计输入所有参数的平均数的一个函数。

    Processed: 0.014, SQL: 8