Python 基础 5、 闭包

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weixin_40603236/article/details/82344839

什么是 Python 的闭包,通俗来讲就是定义两个函数,其中一个函数在另一个函数体里,外面的函数的返回值是函数

体内函数的内存地址,

这能有什么用呢, 闭包最大的优点就是,当外部函数执行完成后里面的变量值不会马上被销毁。

#简单的闭包函数

def func (name):
	def func_in (age):
		return ("第一个函数的参数是---->(%s),第二个函数的参数是---->(%s)"%(name,age))
	return func_in



>>> f=func('小明')
>>> print(f.(12))

>>> print(f(12))
第一个函数的参数是---->(小明),第二个函数的参数是---->(12)

>>> print(f(13))
第一个函数的参数是---->(小明),第二个函数的参数是---->(13)

>>> print(f(14))
第一个函数的参数是---->(小明),第二个函数的参数是---->(14)



我在调用第二个函数f的时候有没传入name参数,但是func_in函数确可以找到name参数
这个说明name参数在func调用的时候已经被保存在f内

注意: return 的一定是func_in 而不是func_in(), func_in()表示调用函数,func_in 表示返回改函数的内存空间

猜你喜欢

转载自blog.csdn.net/weixin_40603236/article/details/82344839