概述
转自:https://blog.csdn.net/alicegotoanother/article/details/79079483
https://www.cnblogs.com/majw/p/8242015.html
方法一:创建生成器
def creatCounter( ):
def f( ):
x = 0
while True:
x = x +1
yield x
sum = f( )
def counter( ):
return next( sum )
return counter
这里没有直接调用f( ),即next( f( ) ),而是用定义sum = f( ),即next( sum ),
因为creatCounter( )返回的是counter这个函数,而此时f( )并没有执行并返回一个生成器对象,而执行next(sum)则会执行f( )生成一个新的生成器对象,变向的理解,s1 = f( ),s2 = f( ),但s1 == s2是false(这个变向理解感觉有点牵强)
方法二:创建列表
def creatCounter():
s = [0]
def counter():
s[0] = s[0] + 1
return s[0]
return counter
最后
以上就是温婉小伙为你收集整理的Python学习——利用闭包返回一个计数器函数,每次调动它返回递增整数的全部内容,希望文章能够帮你解决Python学习——利用闭包返回一个计数器函数,每次调动它返回递增整数所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复