Python闭包练习

    科技2025-05-06  11

     匿名函数、函数、闭包、对象之间的关系:

    1.匿名函数:完成最基本的函数功能

    2.函数:完成比较复杂的功能

    3.闭包:能够同时传递数据 + 完成功能的函数

    4.对象:完成最为复杂的功能,并且能够传递数据

    def func(a, b): # 定义一个c c = 2 def call_func(): print('*' * 20) print('在闭包中改变外部变量需要加:nonlocal') # 在闭包中改变外部已经定义的值需要加:nonlocal nonlocal c # 改变c的值 c = 5 print('c = ', c) print('此时c的地址是:', id(c)) print('*' * 20) # 将函数传入的值进行运算 print('a+b的结果是:', a+b) # .__closure__函数返回cell则此函数为闭包,返回Non则不是闭包 print(call_func.__closure__) print('c = ', c) print('此时c的地址是:', id(c)) return call_func f = func(2, 10) f()

    Processed: 0.016, SQL: 8