2 Star 3 Fork 3

celaraze / learning-python

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
14.返回函数.py 686 Bytes
一键复制 编辑 原始数据 按行查看 历史
# 可以把函数作为结果值返回
def big_sum(*numbers):
def sum():
result = 0
for number in numbers:
result = result + number
return result
return sum
# 返回的不是结果,而是函数本身
print(big_sum(1, 2, 3, 4, 5, 6, 7, 8))
f = big_sum(1, 2, 3, 4, 5, 6, 7, 8)
print(f())
# 函数中的相关参数和变量都保存在返回的函数中,叫做闭包(Closure)
# 每次调用都返回一个新的函数,下面的两个函数是不同的
fOne = big_sum(1, 2, 3, 4, 5)
fTwo = big_sum(1, 2, 3, 4, 5)
print(fOne == fTwo)
# 闭包
# 特别注意,返回函数不要引用任何循环变量,或者后续会发生变化的变量
Python
1
https://gitee.com/celaraze/learning-python.git
git@gitee.com:celaraze/learning-python.git
celaraze
learning-python
learning-python
master

搜索帮助