我是靠谱客的博主 温婉小伙,最近开发中收集的这篇文章主要介绍Python学习——利用闭包返回一个计数器函数,每次调动它返回递增整数,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

转自: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学习——利用闭包返回一个计数器函数,每次调动它返回递增整数所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(31)

评论列表共有 0 条评论

立即
投稿
返回
顶部