闭包这节课的第三个重点,我想再来介绍一下闭包(closure)。闭包其实和刚刚讲的嵌套函数类似,不同的是,
这里外部函数返回的是一个函数,而不是一个具体的值。
返回的函数通常赋于一个变量,这个变量可以在后面被继续执行调用。
# -*- coding:utf-8 -*-
# !/usr/bin/python
def nth_power(exponent):
def exponent_of(base):
print base
return base ** exponent
return exponent_of # 返回值是exponent_of函数
x=nth_power(2)
print x
print type(x)
C:\Python27\python.exe "C:/Users/TLCB/PycharmProjects/untitled2/python study/t7.py"
<function exponent_of at 0x02092570>
<type 'function'>
返回的是一个函数
# -*- coding:utf-8 -*-
# !/usr/bin/python
def nth_power(exponent):
def exponent_of(base):
print '------------------'
print base
print '------------------'
return base ** exponent
return exponent_of # 返回值是exponent_of函数
x=nth_power(2)
print x
print type(x)
print dir(x)
print x(3)
C:\Python27\python.exe "C:/Users/TLCB/PycharmProjects/untitled2/p
python 中的闭包
最新推荐文章于 2021-09-05 18:43:01 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)