您的位置: 网站首页> python基础> 当前文章

python函数闭包(局部函数)

老董-我爱我家房产SEO2020-03-08177围观,129赞

  在函数内部嵌套一个函数,而外部函数返回的不是一个具体的值,而是一个函数,这就是闭包。

  可以用一个变量接收返回的函数,这个变量可以在后面被继续调用。

  案例1:闭包简单语法

# -*- coding: utf-8 -*-

def test():
    def echo(para):
        print(para)
    return echo

res = test()
res('隔壁老王')

D:python3installpython.exe D:/pyscript/py3script/python66/python66.py
隔壁老王

Process finished with exit code 0


  案例2:计算一个数平方和立方。

# -*- coding: utf-8 -*-

def test(n):
    def get_change(m):
        return n ** m
    return get_change # 返回值是一个函数名


# 计算3的平方
fun1 = test(3)
print(fun1(2))

# 计算3的立方
fun2 = test(3)
print(fun2(3))

"""
在执行完 fun1 = test(3) 和 fun2 = test(3)后,
外部函数 test()的参数n仍然会被内部函数 get_ahange()记住。
"""



D:python3installpython.exe D:/pyscript/py3script/python66/python66.py
9
27

Process finished with exit code 0


  闭包让代码显的更加简洁,另外python的装饰器的原理中也会用到闭包这个知识点,随着后面的学习以及项目的开发会慢慢感受到闭包的优势,现在体会不到没关系。

很赞哦!

python编程网提示:转载请注明来源www.python66.com。
有宝贵意见可添加站长微信(底部),获取技术资料请到公众号(底部)。同行交流请加群 python学习会

文章评论

    python函数闭包(局部函数)文章写得不错,值得赞赏

站点信息

  • 网站程序:Laravel
  • 客服微信:a772483200